--- title: Type coercion (型強制) slug: Glossary/Type_coercion tags: - Coercion - JavaScript - Type coercion - 型強制 - 用語集 translation_of: Glossary/Type_coercion ---

型強制 (Type coercion) は、あるデータ型から他のデータ型への値の自動的または暗黙の変換です (文字列から数値など)。{{Glossary("Type conversion", "型変換")}}型強制はよく似ており、どちらもある型から他の型へ値を変換しますが、一つ重要な違いがあります。型強制は暗黙的であるのに対し、型変換は暗黙的または明示的のどちらかです。

const value1 = '5';
const value2 = 9;
let sum = value1 + value2;

console.log(sum);

上記の例では、 JavaScript は 9 を数値から文字列に型強制し、両者を結合するので、結果は文字列の 59 になります。 JavaScript は文字列と数値の何れかを選択する必要があり、文字列を使用するよう決定します。

コンパイラーは 5 を数値に強制して、合計値である 14 を返すこともできましたが、そうしませんでした。この結果を返すには、 {{jsxref("Global_Objects/Number", "Number()")}} メソッドを用いて明示的に 5 を数値に変換することができます。

sum = Number(value1) + value2;