在JavaScript中,取反操作是一個非常常見的運算符。它通常被用來把一個布爾值翻轉,也就是把“真”變成“假”,把“假”變成“真”。取反操作符在JavaScript中用嘆號“!”表示。
例如:
console.log(!true) // false console.log(!false) // true
上面的代碼中,我們使用了“!”來完成一個布爾值的取反操作。當我們把“true”取反時,它的值變成了“false”,而當我們把“false”取反時,它的值變成了“true”。
除了僅對布爾值進行取反之外,JavaScript還允許取反表達式。表達式可以是任何可以被求值的內容:
console.log(!"hello") // false console.log(!null) // true console.log(!NaN) // true console.log(!0) // true console.log(!"") // true
上面的代碼中,我們對字符串、null、NaN、0和空字符串進行了取反操作。可以看到,只有字符串“hello”被取反后變成了“false”,其它的值都變成了“true”。
需要注意的是,取反操作的優先級比邏輯與(&&)和邏輯或(||)運算符低。如果我們混合使用它們,一定要使用括號來清楚地表明優先級:
console.log(!(true || false)) // false console.log(!true || false) // false
上面的代碼中,第一句輸出為“false”,因為我們首先對邏輯或的結果進行了取反,然后才進行比較。而第二句輸出為“true”,因為我們先對“true”進行了取反操作,然后才對結果進行了邏輯或。
最后,取反操作常常被用于判斷布爾值。如果我們想判斷一個變量是不是“真”,我們可以使用“!”:
let x = false if(!x){ // 這里的代碼會被執行,因為x是false }
上面的代碼中,我們使用“if”語句來判斷變量“x”的值是否為“真”,如果不是,就執行一些代碼。在判斷時,我們先對“x”進行了取反操作,把“false”翻轉為“true”,然后判斷結果是否為“true”。
總之,在JavaScript中,取反操作符是一個非常有用的運算符。它可以把一個布爾值或表達式的值翻轉,或者用來判斷某個變量的布爾值。