我曾经习惯typeof foo !== 'undefined'
在javascript函数中测试可选参数,但是如果我想要这个值true
或者false
每次都是这样,那么最简单,最快捷或最彻底的方法是什么?看起来它可能比这更简单:
function logBool(x) {
x = typeof x !== 'undefined' && x ? true : false;
console.log(x);
}
var a, b = false, c = true;
logBool(a); // false
logBool(b); // false
logBool(c); // true
Run Code Online (Sandbox Code Playgroud)
小智 24
你可以跳过三元组,并评估"不是不是x",例如!!x
.
如果x未定义,!x
则为true,因此!!x
再次变为false.如果x为真,!x
则为false,所以!!x
为真.
function logBool(x) {
x = !!x;
console.log(x);
}
var a, b = false, c = true;
logBool(a); // false
logBool(b); // false
logBool(c); // true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8243 次 |
最近记录: |