哪种方法代表了 JavaScript 中空对象引用的最佳实践,null 或未定义

Which approach represents best practice for empty object reference in JavaScript, null or undefined?

本文关键字:最佳 未定义 null 对象引用 方法 JavaScript      更新时间:2023-09-26
var p = new Person("xyz");

对 p 已经做了一些工作。现在 p 应该什么都不要指向。

p = undefined;

p = null;

哪种方法代表空对象引用的最佳做法?

这是一个解释问题,但 null 在理性上是一个更好的选择

你实际上是在问变量是否应该定义为:

  • 已声明但尚未赋值的变量,即 undefined .

  • 赋值作为无值的表示形式,null .
引用《

Web 开发人员的专业 JS (Wrox( 》一书中的一句话在这里是合适的:

您可能想知道为什么 typeof 运算符为空值返回"对象"。这实际上是原始 JavaScript 实现中的一个错误,然后被复制到 ECMAScript 中。今天,null被认为是对象的占位符,即使从技术上讲,它是一个原始值。

结论:

使用 null 是合理的,因为它被视为对象的占位符,但只要您的系统与它一致,使用 undefined 并没有错。

您可以根据需要使用两者。 看看这篇文章,看看两者之间的确切区别 JavaScript 中的 null 和 undefined 有什么区别?.

未定义表示已声明变量但没有值:

var item;
alert(item); //undefined
alert(typeof item); //undefined

空是一个赋值:

var item= null;
alert(item); //null
alert(typeof item); //object

正确的是:

p = null;

undefined保留用于变量未初始化或空承诺的情况。