看下面这段代码:
let x = Math.random() < 0.5 ? 10 : "hello world!";
x = 1;
console.log(x);
x = "goodbye!";
console.log(x);
没有语法错误:
请注意,这些分配中的每一个都是有效的。 即使在我们第一次赋值后观察到的 x 类型变成了数字,我们仍然能够为 x 分配一个字符串。 这是因为 x 的声明类型(declared type) - x 开头的类型 - 是 string | number,并且始终根据声明的类型(declared type)检查可分配性。
更多Jerry的原创文章,尽在:"汪子熙":
网友评论