Type coercion (型強制)
型強制 (Type coercion) は、あるデータ型から他のデータ型への値の自動的または暗黙の変換です (文字列から数値など)。型変換と型強制はよく似ており、どちらもある型から他の型へ値を変換しますが、一つ重要な違いがあります。型強制は暗黙的であるのに対し、型変換は暗黙的または明示的のどちらかです。
例
js
const value1 = "5";
const value2 = 9;
let sum = value1 + value2;
console.log(sum);
上記の例では、 JavaScript は 9
を数値から文字列に型強制し、両者を結合するので、結果は文字列の 59
になります。 JavaScript は文字列と数値の何れかを選択する必要があり、文字列を使用するよう決定します。
コンパイラーは 5
を数値に強制して、合計値である 14
を返すこともできましたが、そうしませんでした。この結果を返すには、 Number()
メソッドを用いて明示的に 5
を数値に変換することができます。
js
sum = Number(value1) + value2;