💡
原文英文,约500词,阅读约需2分钟。
📝
内容提要
在JavaScript中,null表示故意缺失的对象值,typeof null返回'object'是已知的bug。null与undefined的比较中,==认为相等,而===则不相等。undefined表示已声明但未赋值的变量。ES6的模板字面量提供了更简洁的字符串创建方式,支持多行字符串和变量插入。
🎯
关键要点
- 在JavaScript中,null表示故意缺失的对象值。
- typeof null返回'object'是已知的bug。
- null与undefined的比较中,==认为相等,而===则不相等。
- undefined表示已声明但未赋值的变量。
- 未初始化的变量会自动赋值为undefined。
- 函数未显式返回值时,返回undefined。
- 缺少函数参数时,参数值为undefined。
- ES6的模板字面量提供了更简洁的字符串创建方式。
- 模板字面量支持多行字符串和变量插入。
❓
延伸问答
JavaScript中的null和undefined有什么区别?
null表示故意缺失的对象值,而undefined表示已声明但未赋值的变量。
为什么typeof null返回'object'?
这是JavaScript中的一个已知bug,null是原始值,但typeof null返回'object'是为了兼容性保留的。
如何在JavaScript中使用模板字面量?
模板字面量使用反引号(`)包围,支持多行字符串和变量插入,例如使用${}插入变量。
在什么情况下会出现undefined?
undefined会出现在未初始化的变量、缺少函数返回值或缺少函数参数时。
null和undefined在比较时有什么不同?
使用==比较时,null和undefined被认为相等,而使用===比较时则不相等,因为它们的类型不同。
如何在模板字面量中插入表达式?
可以使用${}语法直接在模板字面量中插入变量或表达式,例如`${a + b}`。
➡️