繁体   English   中英

TypeScript-将属性设置为对象

[英]Typescript- set property to object

关于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推断正确的类型。
这样,它将有一个值,您不必同时写值和类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM