今回は、JS の暗黙的な型変換についてまとめました。 JS の暗黙的な型変換の注意事項について、実際のケースを見てみましょう。
JavaScriptが変数のデータ型を変換する状況は通常 4 つあります。
ディレクトリ
rreeeif内の条件は自動的にBoolean型に変換されます
falseに変換されるデータ
* if中的条件会被自动转为Boolean类型 * 会被转为false的数据 * 会被转为true的数据 * 参与+运算都会被隐式的转为字符串 * 会被转为空字符串的数据 * 会被转为字符串的数据 * 会被转为数据类型标记的数据 * 参与*运算都会被隐式的转为数字 * 会被转为0的数据 * 会被转为1的数据 * 会被转为NaN的数据 * == 运算符 * 为true的时候 * 为false的时候
trueに変換されるデータ
if(false) console.log(2333) if('') console.log(2333) if(null) console.log(2333) if(undefined) console.log(2333) if(NaN) console.log(2333)
+ 操作に参加する人は誰でも暗黙的に文字列に変換されます
空の文字列に変換されるデータ
if(true) console.log(2333) // 2333 if('test') console.log(2333) // 2333 if([]) console.log(2333) // 2333 if({}) console.log(2333) // 2333
文字列に変換されるデータ
'str-' + '' // str- 'str-' + []
データ型タグ付きデータに変換されます
'str-' + '1' // "str-1" 'str-' + 1 // "str-1" 'str-' + false // "str-false" 'str-' + true // "str-true" 'str-' + null // "str-null" 'str-' + undefined // "str-undefined" 'str-' + NaN // "str-NaN"
* 操作に参加する人は誰でも暗黙的に数値に変換されます
0
'str-' + {} // "str-[object Object]" 'str-' + {a:1} // "str-[object Object]"
に変換されるデータ 1
2 * '' // 0 2 * [] // 0 2 * false // 0
に変換されるデータ NaN に変換されるデータ
2 * '1' // 2 2 * [1] // 2 2 * true // 2
== 演算子
それが本当なら
rreeeそれが偽りの場合
2 * {} // NaN 2 * {a:1} // NaN
注: 空の配列 [] は、+ 演算子を使用すると空の文字列 '' に変換され、* 演算子を使用すると数値 0 に変換されます。しかし、if ステートメントでは true になります。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がJSの暗黙的な型変換の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。