我的问题是标题所说;
这是什么意思:
if( variable ){ /* do something */ }
我的意思是,如果变量存在做某事或什么?
答案 0 :(得分:12)
这意味着如果variable
truthy ,则执行该块。在JavaScript中,以下是 falsey
false
0
NaN
undefined
null
""
(空字符串)除了上述内容之外,其他一切都是 truthy ,也就是说,它们评估为true
。
如果变量根本不存在>(也就是说,它从未声明过),那可能会抛出ReferenceError
,因为它试图读取变量的值那不存在。
所以这会引发错误:
if (variableThatDoesntExist) {
console.log("truthy");
}
这会记录“truthy”这个词:
var variable = "Hi there";
if (variable) {
console.log("truthy");
}
这不会记录任何内容:
var variable = "";
if (variable) {
console.log("truthy");
}
答案 1 :(得分:1)
使用Javacript语法检查变量是truthy
还是falsy
。
与if (variable is true) { /* Do something */}
在Javascript中,这些是falsy
值。
所有其他值都是真实的,包括" 0" (零作为字符串)," false" (作为字符串为false),空函数,空数组和空对象。