【发布时间】:2022-01-01 13:21:53
【问题描述】:
有没有办法在编写对象时键入对象的属性?与事先定义类型/接口相反。
我唯一能想到的就是as,但这太宽容了。考虑:
type Comment = Required<{
author: string;
message: string;
}>;
const myComment: Comment = {
author: 'Steve',
// Error! :) 'message' is missing
};
const myData = {
myComment: {
author: 'Steve',
// No error. :(
} as Comment,
};
const myData = {
myComment: <Comment>{
author: 'Steve',
// No error. :(
},
};
我想让myData.myComment 抛出同样的错误。
当然,这是一个简单的例子。但是,如果我正在编写一个大而复杂的对象,那么能够动态地为它的一部分声明类型会很好。
【问题讨论】:
标签: typescript