2016-09-30 149 views
0

我有这样的代码添加属性到一个空对象

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

,我使用Vscode,我得到的性能测试没有定义。 我如何让这只是一个警告。

回答

0

这将解决您的问题

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

因此,本质上你的建议是要落后于TypeScript的背后。 – 2016-09-30 13:41:39

+0

是的,但我认为dashman需要动态添加属性,所以我认为这是一个最好的解决方案。 – HabibKazemi

+0

是的 - 我想我会落后TS的后面.. – dashman

1

定义你的对象有一个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,什么是摆在首位使用打字稿的地步?