1. 他のデータ型を数値型に変換する
Number()->Strict
parseFloat/parseInt ->Non-strict
isNaN(value) 値が数値型でない場合、最初に Number と呼ばれます。数値型に変換して、それが有効な数値であるかどうかを判断します
例:
Number("12px"); ->12
isNaN( "12" ); ->false
法則:
1) ブール型を数値に変換 true->1 false->0
2) null/未定義を数値に変換する->0 未定義-> ;NaN 10+null=10 10+unknown=NaN
3) [] を数値に変換するには、まず配列の toString メソッドを呼び出して []->"" を変換し、次に Number メソッドを使用して変換します。 ""->0
2. 他のデータ型をブール型に変換します
Boolean
!!
! まずブール型に変換してから、
例:
!!1->true
!!0 ->false
![]->false !![]->true
ルール:
ブール値に変換すると、0、NaN、null、未定義、および "" のみが false になります残りの変換は true です
特殊なケース:
条件判定に値が 1 つしかない場合は、まず 1 をブール型 (->true) に変換してから、それがであるかどうかを判定します。 true または false の場合 true の条件は true、それ以外の場合は条件は true ではありません
"+" は JS における単なる数学演算ではなく、文字列に遭遇したときの文字列の連結です
" -、*、/" は JS でのみ使用できます。これは算術演算です。数値以外の型に遭遇した場合は、算術演算のために強制的に数値に変換する必要があります。 3. 2 つの値を比較します (==比較の場合、=== 比較データ型が異なる場合、デフォルトの変換は実行されません)。左側と右側のデータ型が異なる場合は、一連のルールに従ってデフォルトのデータ型変換を実行する必要があります。
Value1==value2
1) Object == Object 自身が格納しているメモリアドレスを比較 メモリアドレスが異なる場合 等しくない []==[]->false それぞれの空の配列は個別のメモリアドレスです
2) Object == string は、toString メソッドを呼び出して、オブジェクトを文字列 []==""- >true に変換します
3) Object == Boolean オブジェクトは数値 (toString-Number) に変換され、ブール値も数値に変換されます (true->1 false->0)
[]==false ->true [ ]->0 false->0 0==0->true
![]==false -> ![]空の配列を最初にブール型に変換してからそれを否定します->false false= =false->true
4)Object == 数値オブジェクトは数値に変換されます[]==0->true []==1->false
5) String == Boolean 両方とも数値「3」==true->false 「1」==true->に変換されます。 true
6) String ==number 数値に変換された文字列 ""==0->true
7) Boolean = =Number ブール値を数値に変換 true==1->true true==2->false
8)null==未定義 ->true null===未定義 ->false
null/未定義、その他 の値は等しくない null==0->false
9)NaN==NaN ->false NaN はどの値にも等しくありません (それ自体を含む)
上記がこの記事の全内容です。この記事が皆様の勉強や仕事に役立つことを願っています。また、PHP をサポートすることを願っています中国語のサイトです!
JavaScript でのデータ型変換に関するその他の記事については、PHP 中国語 Web サイトに注目してください。