向空对象添加属性

Adding properties to an empty object

我有这个代码

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

并且我正在使用 Vscode,我得到 属性 测试未定义。 我如何让这只是一个警告。

这将解决您的问题

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

将您的对象定义为 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 有什么意义?