向空对象添加属性

时间:2016-09-30 13:03:14

标签: typescript visual-studio-code nativescript

我有这段代码

var MY_OBJ = {};
MY_OBJ.test = function(){}

我正在使用Vscode,我没有定义属性测试。 我怎么能让这只是一个警告。

2 个答案:

答案 0 :(得分:4)

将对象定义为具有test属性:

var MY_OBJ: {test?: Function} = {};

MY_OBJ.test = function() { };

或者,以这种方式设置属性:

MY_OBJ['test'] = function() { };

为了进一步确保类型安全,请将MY_OBJ定义为对象:

var MY_OBJ: { [propName: string]: any } = {};

这可以防止MY_OBJ = 14;等错误。

如果您希望此对象始终具有函数值键,则

var MY_OBJ: { [propName: string]: Function } = {};

可以防止MY_OBJ['test'] = 14;等错误。

如果您要按照接受的答案中提出的方式使用any,那么首先使用TypeScript的重点是什么?

答案 1 :(得分:1)

这将解决您的问题

var MY_OBJ:any = {};
MY_OBJ.test = function(){}