【发布时间】:2016-05-16 19:48:52
【问题描述】:
如何注释这些对象,以便在我尝试访问不存在的属性时收到编译器错误或警告?
{
"Id": 1
"First Name": "Lorem",
"Last Name": "Ipsum",
}
我已经使用这个定义注释了这个对象:
interface Person{
Id: number;
"First Name": string;
"Last Name": string;
}
但是,我仍然无法安全地访问“名字”属性,因为访问它的唯一方法是:
var person : Person = ...;
var firstName = person["First Name"];
这不仅会返回任何值,而且还允许访问未定义的属性,例如 person['bla bla'] 而不会出现编译器错误。
【问题讨论】:
标签: typescript jsdoc