Javascript Typescript-将属性设置为对象

Javascript Typescript-将属性设置为对象,javascript,object,typescript,Javascript,Object,Typescript,关于JS typescript中的对象的一个问题。我有下面的代码,它工作得很好 myObj: { type: string } = { type: '' }; this.myObj.type = 'Abcd'; 但我希望这个代码能正常工作 myObj: { type: string }; this.myObj.type = 'abcd'; // this.myObj['type'] = 'Abcd'; also not working 为什么它不起作用?我做错了什么? 我收到“无法将属性类型

关于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”

此消息:

let myObj: { type: string };
编译到此javascript:

var myObj;
如您所见,您没有为其赋值,因此如果您尝试执行以下操作:

myObj.type = "what not";
您将得到一个错误,因为myObj未定义

您可以这样做:

let myObj = { type: '' };
编译器将为myObj推断正确的类型。
这样,它将有一个值,您不必同时写入值和类型。

因此,如果我让myObj={};在这个myObj['type']='abcd'之后;没关系?是的,但是你不会有类型安全性。很遗憾,我认为我可以不用初始化就可以做到这一点。好,谢谢: