假设我有一个通用类型T,并且我想初始化一个类型T的空对象。我想像这样的东西,但我无法使其正常工作。
type Phone = {
number: string;
isMain: boolean;
}
const newPhone = createEmptyObj<Phone>();
console.log(newPhone);
/*
{
number: '';
isMain: false;
}
*/
答案 0 :(得分:1)
不,这是不可能的。因为它是type
,所以您必须手动定义所有内容,因此对interface
也是如此。
如果要使用默认值,则需要使用具有已定义默认值的class
。
class Phone {
number: string = '';
isMain: boolean = false;
}
const newPhone = new Phone();
console.log(newPhone);
/*
{
number: '';
isMain: false;
}
*/