javascript - if (count === void 0) { count = 0; }问题
巴扎黑
巴扎黑 2017-04-10 15:22:54
[JavaScript讨论组]
 function testCount(count) {
            console.log(count);
            if (count === void 0) { count = 0; }
            console.log(count);
}

其中if语句里的条件和typeof count ==='undefined' 完全一样吗?谁可以解释下? 这是哪个版本的语法?

巴扎黑
巴扎黑

全部回复(4)
天蓬老师

是完全一样的。
void操作符的作用是:运算后面的表达式(为了处理运算符优先级问题,一般用小括号包裹起来),并返回undefined(这是原始值,不是字符串哦)

所以,上面的代码中的判断语句,相当于:

if (count === undefined) {
   count = 0;
}
巴扎黑
php//其实可以
 count = count || 0;//count不传值默认undefined
巴扎黑
void expression

我们经常会在一个期望得到 undefined 返回值的地方使用 void 运算符,这样就可以忽略掉它后面的表达式的真实返回值。我们只去利用那个表达式执行时的副作用。

void 运算符

这里:
if (count === void 0) { count = 0; }if (count === undefined) { count = 0; } 或者 if (typeof count === 'undefined') { count = 0; }
没什么本质区别。

PHP中文网

var a,b;
alert(a === b)
道理是一样的

我去~给我-1了 …… 难道不都看本质吗
typeof count ==='undefined'
两个字符串‘undefined’相比较
count === void 0
两个‘undefined类型’相比较

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号