关于JS中的对象的一个问题(typescript)。我有以下代码,工作正常
myObj: { type: string } = { type: '' };
this.myObj.type = 'Abcd';
但我希望这段代码能够正常工作
myObj: { type: string };
this.myObj.type = 'abcd'; // this.myObj['type'] = 'Abcd'; also not working
为什么不起作用?我究竟做错了什么? 我得到'无法设置属性类型为null'
答案 0 :(得分:2)
此:
let myObj: { type: string };
编译到这个javascript:
var myObj;
正如您所看到的,您并未为其分配值,因此,如果您尝试这样做:
myObj.type = "what not";
由于myObj
未定义,您将收到错误。
你可以这样做:
let myObj = { type: '' };
编译器将推断出myObj
的正确类型
通过这种方式,它将具有一个值,您不必同时写入值和类型。