gpt4 book ai didi

javascript - 这两个 JavaScript bool 表达式有什么区别吗?

转载 作者:行者123 更新时间:2023-12-02 19:01:54 26 4
gpt4 key购买 nike

有两种方法可以检查变量或属性是否存在。

第一个断言不返回虚假值。

1.

var testVar;
if(!testVar){

//use testVar becuase it exists

}

第二个明确断言两个条件。

2.

var testVar;

if(testVar !== undefined && testVar !== null){

//use testVar becuase it exists

}

为了检查对象/字符串/数字/数组是否存在,两者之间有什么区别吗?

最佳答案

他们是不同的。如果您尝试输入 {}1true"nyan cat" nyan! ...进入 testVar,然后为 !testVar 返回 false:

var testVar = {};
if(!testVar){ //false
//will not be executed, but testVar does exist
}

enter image description here

检查变量是否存在的更好方法:

typeof(randomVar); //undefined
typeof(window); //object
<小时/>

附注

var testVar;
if(!testVar){
//...
}

这实际上并没有检查它是否存在。尝试一下

var testVar = "something";
if(!testVar){ //false
console.log("Exist.");
}
//nothing happens.

关于javascript - 这两个 JavaScript bool 表达式有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14722794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com