SiiD BLOG ロゴ

【JavaScript】値のない変数「undefined」について

【JavaScript】値のない変数「undefined」について

この記事を書いた人

SiiD BLOG編集部

SiiD BLOG編集部

SiiD BLOG編集部にて、皆さんの学習やキャリアに役立つ記事を発信します! 普段は受講生の皆さん向けに、学習やキャリアの相談にのったりもしています。

JavaScriptにおけるundefinedは、値が割り当てられていない変数を示す特殊なデータ型です。undefinedとは、変数が宣言されているもののまだ値が与えられていない状態を表します。また、関数が値を返さない場合においてもundefinedが戻り値となります。

undefinedの例

ここからはundefinedがどのような場合に返ってくるのかを見てみましょう。

変数の宣言のみが行われた場合:

   let a;
   console.log(a); // undefined

ここではaが宣言されていますが、値が割り当てられていないため、undefinedが出力されます。

オブジェクトの存在しないプロパティにアクセスした場合:

   const obj = { name: "Alice" };
   console.log(obj.age); // undefined

objオブジェクトにはageプロパティが存在しないため、undefinedが返されます。

関数が値を返さない場合:

   function test() {}
   console.log(test()); // undefined

test関数は何も返さないため、その戻り値はundefinedになります。

nullとundefinedの違い

undefinedとよく比較されるnullもJavaScriptには存在しますが、nullは「何もない」状態を意図的に表現するために使われます。一方、undefinedは変数に値がまだ割り当てられていないことを示すために自動的に設定されます。

JavaScriptでのnullとundefinedは似て非なるものです。以下にその違いを説明します。

1. 意味の違い

  • undefined: 変数が宣言されたが、まだ値が割り当てられていない状態を指します。この場合は自動的に設定されます。
  • null: プログラマが意図的にに「値がない」ことを表すために設定する値です。

2. 型の違い

  • undefinedは自身の型を持っています(undefined)。
  • nullはオブジェクト型として扱われます。

3. 比較と演算

  • nullとundefinedは ==(等価演算子)で比較すると等しいとみなされますが、===(厳密等価演算子)を使うと異なるとみなされます。
   console.log(null == undefined); // true
   console.log(null === undefined); // false

nullとundefinedの違いのような細かい仕様は、実際にバグを踏んで覚えることが多い部分です。こうした基礎を体系立てて学びたい方に向けて、SiiDの概要をまとめておきます。

AIプログラミングスクール「SiiD」について

AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。

SiiDの特徴

  • 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
  • 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
  • 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
  • Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
  • 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
  • 学割あり(35%オフ)

こんな方におすすめ

  • 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
  • 独学に限界を感じている方
  • 費用を抑えながら実務スキルと転職サポートを両立したい方

「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。

シェアする

未経験からのエンジニア転職を本気で目指すなら「SiiD」

SiiDはYouTube 13万人のセイト先生が主任講師のAIプログラミングスクール。元人事部長&現役エンジニアによる徹底指導で、生涯年収を大きくアップさせませんか?

SiiDの詳細を見る