javascript - 我应该在 Javascript 类型相等中使用 typeof 吗?

标签 javascript performance

什么更好?

if (obj === undefined) { }

对比

if (typeof(obj) === 'undefined') { }

最佳答案

如果你无法避免隐藏全局undefined,或者无法避免引用未声明的变量,那么使用:

typeof x === 'undefined'

如果您坚持良好的编码习惯,并相信让损坏的代码崩溃,请使用:

x === undefined

如果你想要不同的选择,你可以使用:

x === void 0;

...其中 void 始终返回 undefined,并且不依赖于全局属性。

您可以使用的另一个保护措施是通过在函数中定义适当的 undefined 以良好的方式使用阴影:

(function( undefined ) {

    // notice that no arguments were passed, 
    // so the `undefined` parameter will be `undefined`

    var x; 

    if( x === undefined ) {

    }

})();

...有些人喜欢给它一个不同的名字:

(function( undef ) {

    // notice that no arguments were passed, 
    // so the `undefined` parameter will be `undefined`

    var x; 

    if( x === undef ) {

    }

})();

关于javascript - 我应该在 Javascript 类型相等中使用 typeof 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6481802/

相关文章:

javascript - ReactJS:选中另一个复选框时取消选中先前选中的复选框

javascript - 当父元素具有属性pointer-events : none?时,如何使子元素打开链接

javascript - 访问其定义中的数组项,相对索引

performance - 多线程时现代操作系统上的目录漫游器变慢?

c++ - 扭曲如何与原子操作一起工作?

java - 访问器方法性能和优化

javascript - 如何在 mxGraph 中创建多个选项卡、工作表或页面?

javascript - Node.js 身份验证类型错误 : object is not a function

MySql - 缓慢发送数据阶段

java - 使用 JProfiler,是否有推荐策略来确定应用程序是 CPU 还是网络绑定(bind)?