我正在使用typescript 1.4.1并拥有以下代码:
var hello: {message: string};
hello = {world: 't'};
正如预期的那样,typescript编译器会输出错误:
输入'{world:string; }'不能分配给'{message: 串; }”。类型'{world:'中缺少属性'message' 串; }”。 (var)hello:{message:string; }
但是如果类型只包含一个可选属性,例如:
var hello: {message?: string};
hello = {world: 't'};
然后编译器非常高兴,但我希望能够检测到错误。
我做错了什么?还是打字稿?
感谢您的帮助!
答案 0 :(得分:4)
然后编译器非常高兴,但我会检测到错误。 我究竟做错了什么?还是打字稿?
不,这是设计上的。只要所需信息(在这种情况下没有)存在,额外信息就可以了。