《JavaScript面试大师》系列文章的核心在于沿用应试教育的套路,采取:知识点+刷题的模式来加深巩固理解,目的在于斩获心仪offer,更高的目的在于提升对语言本身的理解,达到融会贯通。
Boolean面试题:
- Boolean()函数的转换规则
- 基本类型(primitive)和基本包类型(primitive wrapper)的区别
面试题1:Boolean()函数的转换规则
解答:ECMAScript®2021对于Boolean值转换规则定义如下:
面试题2:基本类型(primitive)和基本包类型(primitive wrapper)的区别
解答:ECMAScript®2021种定义的基本类型有7种(Undefined、Null、Boolean、Number、String、Symbol、BigInt),基本包类型有3种(Boolean、Number、String),后者属于对象;前者需要的内存大小是固定的,被存储在stack中,后者需要内存大小是不确定的,被存储在heap中;前者按值访问(accessed by value),后者按引用访问(accessed by reference);推荐直接使用基本类型Boolean、Number、String调用包对象的方法,不推荐创建包对象来使用其方法。基本包对象的意义就是便于基本类型调用相应方法,建议尽量不要使用基本包对象。