【发布时间】:2017-12-25 21:06:14
【问题描述】:
Typescript(或者我们应该说 ES)不允许对空/未定义对象进行解构。它会抛出 TypeError。
所以,假设我们有类似的东西
let {a,b,c} = D;
其中D 可能是null。
如果我们需要使用空检查进行条件解构赋值,那么我们会为一些旨在减少它的东西创建样板代码。
在这种情况下最优雅的使用方式是什么,或者我们应该只对有保证的非空对象使用解构?
【问题讨论】:
-
Typescript 在这方面做得很好。而不是绕过类型系统,你应该接受它的目标,其中包括:了解你的类型。
-
你能说得更清楚一点吗?一些例子?类型系统与这个特定问题有什么关系? (我熟悉静态类型)
-
使用静态类型系统,您应该知道所有变量的类型。变量的类型在运行时不得更改。我不知道 Typescript 的类型系统有多花哨,但至少你应该知道
D是null还是Object类型。 -
等待等待...但是 Object 可以为空。然后呢?
标签: typescript object ecmascript-6