js 中雙嘆號 的作用

2021-08-09 19:27:27 字數 869 閱讀 3864

雙嘆號( !! ) 一般用來將後面的表示式強制轉換為布林型別的資料,true / false。

因為js是弱型別的語言(變數沒有固定的資料型別),所以有時需要強制轉換為相應的型別,比如:

a = parseint('3456'); //顯示轉換

b = someobject.tostring(); //顯示轉換,將物件轉換為字串

c = "3456" + 0; //隱式轉換,轉換為數字

d = 3456 + ""; //隱式轉換,轉換為字串

布林型別的轉換,js約定規則為:

false / undefinded / null / 0 / ""  ---> false

true / 1 / somestring / [object]   ---> true

對於 false / null 等值,用 !操作符時都會產生true的結果,所以  !!  的作用在於將這些值轉換為 等價 的布林值。

var foo;

console.log( !foo ); //true

console.log( !!foo ); //false

var o = ;

console.log( !o.name ); //false

console.log( !!o.name ); //true

所以,雙嘆號的作用在於如果變數的值為 null / undefined / 0 / 『 『 時,結果返回 false ;如果明確設定了變數的值,結果會根據變數的實際值來返回。

ruby 中嘆號問號的作用

ruby中的方法可以以問號和嘆號結尾,問號通常用於謂語方法,這種方法返回乙個布林值。例如array和hash類都定義了乙個empty?方法,這個方法用於測試資料結構中有沒有元素。如果方法以嘆號結尾,這意味著我們在使用這個方法的時候要小心,比如大多數核心的ruby類庫方法都提供兩個同名的方法,乙個以嘆...

C 中感嘆號( ) 作用盤點

與等號共同組成關係運算子,檢查兩個運算元的值是否相等,如 a b 稱為邏輯非運算子。用來逆轉運算元的邏輯狀態。如果條件為真則邏輯非運算子將使其為假。如 bool a true bool b a 來自於 c 8 的新特性,比較冷門,國內的翻譯 c 8 的文章基本都沒有提到。它是乙個非常有用的特性。官方...

JS中 的作用

是將表示式強制轉化為bool值的運算,nan undefined null 0 都為false 兩次取反的作用 讓a的結果只能是false或者是true 如果a是0 兩次取反當然是false 如果a是null 兩次取反是false 如果a是undefined 兩次取法是false 其餘的比如a 10...