为什么undefined可以被覆盖,而null可以&#t; t?

时间:2017-11-16 07:00:59

标签: javascript null undefined

undefined with为什么null可以覆盖let?此外,var可以涵盖var obj = {null:1,undefined:2}; with(obj) console.log(null,undefined);,而@FixMethodOrder(MethodSorters.NAME_ASCENDING)可能会出现错误。

那么可以重新定义变量的规则是什么?

enter image description here



@RunWith(PowerMockRunner.class)




1 个答案:

答案 0 :(得分:2)

因为undefined是预定义的全局标识符,但null是文字。因为varkeyword,但let不是(处于宽松模式;它位于strict mode)。 (在松散模式下,它的作用类似于关键字或标识符,具体取决于它出现的位置。)

我不记得为什么undefined是预定义的全局而不是关键字。 let只是严格模式下的关键字的原因是,它仅在2015年添加,即首次定义语言后的20年。