隱式轉換
1.undefined與null相等,但不恒等(===)
2.乙個是number乙個是string時,會嘗試將string轉換為number
3.隱式轉換將boolean轉換為number,0或1
4.隱式轉換將object轉換成number或string,取決於另外乙個對比量的型別
5.對於0、空字串的判斷,建議使用 「===」 。
6.「==」會對不同型別值進行型別轉換再判斷,「===」則不會。它會先判斷兩邊的值型別,型別不匹配時直接為false。
undefined == null; //true
1 == true; //
true
2 == true; //
false
0 == false; //
true
0 == ''; //
true
nan == nan; //
false nan不等於任何值
== false; //
true
== !; //
true
'6' - '3' //
31234 + 'abcd' //
"1234abcd"
顯示轉換一般指使用number、string和boolean三個建構函式,手動將各種型別的值,轉換成數字、字串或者布林值。
number:
number('1234') //1234
number('1234abcd') //
nannumber('') //
0number(true) //
1number(null) //
0number(undefined) //
nan
string:
string(1234) //"1234"
string('abcd') //
"abcd"
string(true) //
"true"
string(undefined) //
"undefined"
string(null) //
"null"
boolean:
boolean(0) //false
boolean(undefined) //
false
boolean(null) //
false
boolean(nan) //
false
boolean('') //
false
C 隱式轉換與顯式轉換
普通型別的轉換順序 隱式把char int和從short double。轉換可能會導致資料的丟失。自定義型別 有兩種函式可以進行隱式轉換,單引數建構函式 和 隱式型別轉換符。自定義型別可以用函式前 explicit 關鍵字,防止轉換。單個引數的建構函式,或可傳單個引數的類建構函式 example 1...
隱式轉換 vs 顯式轉換
js資料型別分為兩種 基本資料型別 原始型別 引用資料型別 物件型別 基本資料型別 number string boolean undefined null symbol es6新出 引用資料型別 object 物件型別 其中涉及最多的隱式轉換的運算子是 和 運算子 1 如果 的一端是string型...
隱式轉換和顯式轉換的區別
前言 例如,乙個int型別的變數轉換qstring的時候,qstringlist qstrlist qstring qstr qstrlist 直接就可以轉換中間不需要通過其他轉換直接就可以實現功能。比如乙個byet需要轉換為qstring的時候,可能要轉換成其他型別的變數再轉才能轉換為qstrin...