Typescript:只添加一个可选属性会删除类型检查

时间:2015-03-23 09:46:12

标签: typescript

我正在使用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'};

然后编译器非常高兴,但我希望能够检测到错误。

我做错了什么?还是打字稿?

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

  

然后编译器非常高兴,但我会检测到错误。   我究竟做错了什么?还是打字稿?

不,这是设计上的。只要所需信息(在这种情况下没有)存在,额外信息就可以了。