哪种方法代表了 JavaScript 中空对象引用的最佳实践,null 或未定义
Which approach represents best practice for empty object reference in JavaScript, null or undefined?
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
保留用于变量未初始化或空承诺的情况。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- AngularJs 检查是否未定义和空的最佳实践
- 检查链接对象形式中未定义属性的最佳实践是什么
- 哪种方法代表了 JavaScript 中空对象引用的最佳实践,null 或未定义
- Ajax从JSON返回未定义-登录系统&最佳实践
- 什么'在处理多级对象时,确保JavaScript对象已设置且未定义的最佳实践
- 对象未定义时的最佳实践
- 检查未定义变量的最佳JS实践是什么
- 如果变量未定义,try / catch是防止错误发生的最佳方法之一吗?
- 用于一系列空/未定义检查的Javascript最佳实践
- 本地存储最佳分数未定义/无值
- 替换数组中缺失/未定义值的最佳方法