js 的隱式轉換與顯式轉換

2022-09-03 22:54:33 字數 1408 閱讀 7161

隱式轉換

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...