BFE.devでのAI解答例 - JavaScript クイズ
8. Implicit Coercion I
以下は、上記のJavaScriptコードが出力するものです。
true
false
"31"
2
1
6
1
NaN
0
0
1行目では、文字列 "false"
は存在しているため、 Boolean()
メソッドは true
を返します。
2行目では、 Boolean()
メソッドに false
値が渡されているため、 false
を返します。
3行目では、文字列連結演算子 +
が使用されています。 したがって、 3
と 1
が文字列として連結されて 31
が出力されます。
4行目では、算術減算演算子 -
が使用されています。 数字としての 3
から1
を引くと、答えは 2
になります。
5行目では、同じ算術減算演算子-
が使われていますが、文字列 " 02 "
を数字として処理できるようにするために、前後の空白がトリムされます。 したがって、数値の 3
から数値の 2
を引くと、答えは 1
になります。
6行目では、算術乗算演算子*
が使用されています。 数字的に評価される前に、文字列 "3"
と " 02 "
の前後にあるすべての空白が削除されます。 つまり 3 * 2
で、答えは 6
になります。
7行目では、文字列 "1"
は数字の 1
に変換されます。
8行目では、文字列 "number"
は数字に変換できないため、 NaN
が出力されます。
9行目では、 null
は数字 0
に変換されます。
10行目では、 false
は数字 0
に変換されます。