打字稿:使用其他类型的键定义类型

时间:2020-03-13 17:51:55

标签: typescript typescript-typings

假设您有这个Typescript类:

class Person {
  name: string;
  age: number;
}

如何声明具有相同属性但any类型但所有属性均为可选的对象类型?以下是一些可能与该类型兼容的值:

data = {};
data = {name: 'John'};
data = {name: anyValue};
data = {age: 'can be a string'}
data = {name: anyValue, age: null};

我什至不知道要搜索什么。我已经尝试过这样的事情:

let data: {(keyof Person): any};

但是不能编译

1 个答案:

答案 0 :(得分:1)

您的上一次尝试几乎是正确的!

let data: { [k in keyof Person]: any };