《JavaScript面试大师》系列文章的核心在于沿用应试教育的套路,采取:知识点+刷题的模式来加深巩固理解,目的在于斩获心仪offer,更高的目的在于提升对语言本身的理解,达到融会贯通。
Undefined面试题:
- 说一下对undefined的理解
- undefined和null的区别
- 为什么undefined == null?
面试题1:说一下对undefined的理解
解答:undefined是ECMAScript原始类型Undefined类型的唯一值;undefined是Global对象(window是ECMAScript规定的Global对象)的一个不建议重写的属性,值为undefined;变量声明后未初始化默认取得undefined值。
面试题2:undefined和null的区别
解答:前者是Undefined类型的唯一值,一般表示变量声明后未初始化;后者是Null类型的唯一值,表示空对象指针。ECMAScript 262 第3版引入undefined正是为了和null作区分。
面试题3:为什么undefined == null?
解答:ECMAScript 262 规定的抽象等式比较(Abstract Equality Comparison 即 ==)操作符运算规则。
参考:ECMAScript®2021手册——Abstract Equality Comparison