ゆめさくエンジニア研究所

== と === の違いを説明してください

型を自動で変えてから比べるかどうか、の違いを例で示す問い。どちらを使うかの決めまで答えます。

短い答え

  • === は、型と値が両方とも同じときだけ true になる、厳密な比較です。
  • は、型が違うと自動で型をそろえてから比べるので、思わぬ組み合わせが true になります。
  • 普段は === を使い、 は null と undefined をまとめて調べたいときのように、理由がある所だけで使います。

深掘りの答え

数と文字列、0 と空の文字列を比べると、違いがはっきり出ます。

JavaScript

console.log(1 == "1");
console.log(1 === "1");
console.log(0 == "");
console.log(null == undefined);
console.log(null === undefined);
true
false
true
true
false

0 == "" が true になるのは、空の文字列が数の 0 に変えられてから比べられるためです。入力欄が空かどうかを == で調べると、0 を入れた人まで「空」と扱ってしまいます。

null == undefined だけは、== が役に立つ数少ない場面です。value == null と書くと、null と undefined の両方を 1 回で調べられます。チームの決まりで禁じている所もあるので、合わせます。

面接官が見ている点

  • 「== は型を見ない」とだけ言わず、型をそろえてから比べる、と仕組みで話せるか
  • 実際に困る場面 (空の入力と 0 など) を 1 つ挙げられるか
  • 自分の決め (普段は === を使う) と、その理由を言えるか

確認日 2026年10月17日

面接問題の一覧へ戻る