学习JavaScript:null、undefined和模板字面量

学习JavaScript:null、undefined和模板字面量

💡 原文英文,约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}`。

➡️

继续阅读