JS中if語句何時認為條件的求值是false

RealRecall發表於2020-12-23

以下是幾種情況:

if(null) {console.log("123")} else {console.log("2222")}//2222
if(undefined) {console.log("123")} else {console.log("2222")}//2222
if(0) {console.log("123")} else {console.log("2222")}//2222
if(-0) {console.log("123")} else {console.log("2222")}//2222
if(NaN) {console.log("123")} else {console.log("2222")}//2222
if("") {console.log("123")} else {console.log("2222")}//2222
if(false) {console.log("123")} else {console.log("2222")}//2222
if(1) {console.log("123")} else {console.log("2222")}//123
if(" ") {console.log("123")} else {console.log("2222")}//123

示例程式碼中,前七個,對於給定條件的求值都是false
追根溯源,是因為布林值:所有不具有“真實”值的即為 false
0、-0、null、undefined、NaN、""、false
以上七種都不具有真實值。

相關文章