そして、変換データ型のJS

対象オペレータ場合において

変換規則は次のとおりです。

1)第一のvalueOf()メソッドは、生データ、リターン、または2)自分自身を呼び出します。

2)次に、toString()メソッド、そうでない場合、オリジナルデータ、捕捉されない例外TypeError自身を呼び出します。

代わりに、Dateオブジェクト、最初の呼び出しのtoString()、コールのvalueOf後の():1つの例外があります。

VAR OBJ = { 
    のvalueOf(){ 戻り 5 }、     
    のtoString(){ リターン 'ハロー' ; } 
}
 1 + OBJ。//   6; 
"1" + OBJ。//   "15"

元のデータ演算子の場合には2

との変換:

オペレータの値が必要とされる場合1)のvalueOf()を呼び出します。

オペレータが文字列が必要な場合2)、toString()を呼び出します。

3)のいずれかの値は、文字列、優先呼のvalueOf()とすることができる場合。

// ブール値の例真の).valueOf(); // 1真の).toString(); // "真の"
 
1+ trueに ; // 2 
+」1" trueに ; // 1true

ツールオブジェクトの場合には3列()関数

との変換:

1)最初の呼のtoString()、元のデータを返すかどうかを決定する;そうである場合、終了、または2)

2))(のvalueOfを呼び出します

VAR OBJ = { 
    のvalueOf(){ 戻り 5 }、     
    のtoString(){ リターン 'ハロー' ; } 
}。
ストリング(OBJ)。// 「こんにちは」

ツールオブジェクトの場合には4ナンバー()関数

との変換:

1)最初の呼のvalueOf()メソッドは、もし元のデータに戻り、終了し、そうでなければ2)

2)のtoString()メソッドを呼び出します

VAR OBJ = { 
    のvalueOf(){ 戻り 5 }、     
    のtoString(){ リターン 'ハロー' ; } 
}。
番号(OBJ)。// 5

 

おすすめ

転載: www.cnblogs.com/lyraLee/p/11627350.html