レッスンに戻る

型の変換

重要度: 5

これらの式の結果はなんですか?

"" + 1 + 0
"" - 1 + 0
true + false
6 / "3"
"2" * "3"
4 + 5 + "px"
"$" + 4 + 5
"4" - 2
"4px" - 2
"  -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
"  -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になります。