レッスンに戻る

型変換

重要性: 5

これらの式の結果はどうなるでしょう?

"" + 1 + 0
"" - 1 + 0
true + false
6 / "3"
"2" * "3"
4 + 5 + "px"
"$" + 4 + 5
"4" - 2
"4px" - 2
7 / 0
"  -9  " + 5
"  -9  " - 5
null + 1
undefined + 1
" \t \n" - 2

よく考え、書き留めてから答えあわせしてみてください。

"" + 1 + 0 = "10" // (1)
"" - 1 + 0 = -1 // (2)
true + false = 1
6 / "3" = 2
"2" * "3" = 6
4 + 5 + "px" = "9px"
"$" + 4 + 5 = "$45"
"4" - 2 = 2
"4px" - 2 = NaN
7 / 0 = Infinity
" -9  " + 5 = " -9  5" // (3)
" -9  " - 5 = -14 // (4)
null + 1 = 1 // (5)
undefined + 1 = NaN // (6)
" \t \n" - 2 = -2 // (7)
  1. 文字列の追加 "" + 1 では 1 を文字列に変換します: "" + 1 = "1", そして "1" + 0 には同じルールが適用されます。
  2. 減算 - (ほとんどの算術演算子と同様)は数値でのみ動作し、空の文字列 ""0 に変換します
  3. 文字列の追加は、数値 5 を文字列に追加します。
  4. 減算は常に数値に変換します。そのため、" -9 " は数値 -9 になります(前後のスペースは無視されます)。
  5. null は数値変換後は 0 になります。
  6. undefined は数値変換後は NaN になります。
  7. 文字列の先頭/末尾のスペースは、文字列が数値に変換される際に削除されます。ここでは文字列全体が \t\n、“通常” のスペース文字から構成されています。したがって、空文字列のときと同様、0 になります。