相关疑难解决方法(0)

在TypeScript中使单个属性可选

在TypeScript中,2.2 ......

假设我有一个Person类型:

interface Person {
  name: string;
  hometown: string;
  nickname: string;
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个返回Person的函数,但不需要昵称:

function makePerson(input: ???): Person {
  return {...input, nickname: input.nickname || input.name};
}
Run Code Online (Sandbox Code Playgroud)

应该是什么类型的input?我正在寻找一种动态方式来指定一个类型,Person除了nickname可选(nickname?: string | undefined)之外.到目前为止,我发现的最接近的是:

type MakePersonInput = Partial<Person> & {
  name: string;
  hometown: string;
}
Run Code Online (Sandbox Code Playgroud)

但这并不是我想要的,因为我必须指定所需的所有类型而不是可选的类型.

typescript

14
推荐指数
6
解决办法
8109
查看次数

标签 统计

typescript ×1