【发布时间】:2017-08-13 02:41:12
【问题描述】:
创建一个简单的数组并在一个(空)对象中对其进行解构:
const foo: Array<number> = [1, 2, 3, 4];
const bar: Array<number> = {...foo};
这里的类型检查不应该失败吗? bar 在我看来不像一个数组。
编辑器完全没有抱怨并将bar 视为数组类型,即使我可以在运行时轻松检查它不是。
编辑
【问题讨论】:
-
您使用的是哪个版本的
tsc? 2.1.4 抱怨类型不匹配。 -
@Saravana 现场。刚刚从命令行检查,我得到了错误。所以在这种情况下,问题来自编辑器(vscode)。
-
虽然我可以在 TypeScript 操场上重现它,但请参阅上面的编辑。
-
我猜在 2.1.4 和 2.2.1 之间有些东西坏了/改变了。更新到 2.2.1 后,我不再收到编译器错误。
-
可能不同之处在于,在旧版本中,展开运算符尚未实现,因此出现错误。
标签: typescript ecmascript-6 destructuring