JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのundefinedとvoid(0)の違いとは?初心者向けにわかりやすく解説


JavaScriptにおける「undefined」とは?

undefinedは、変数が宣言されたものの、まだ値が代入されていないことを示す特別な値(プリミティブ値)です。JavaScriptでは、宣言のみを行って初期化していない変数には、自動的にundefinedが割り当てられます。

記述例:

var demo;
alert(demo); // undefinedと表示される
alert(typeof demo); // "undefined"と表示される

undefinedを使った変数の存在チェック

typeof演算子とundefinedを組み合わせると、変数が存在するかどうかを安全に判定できます。未定義の変数へ直接アクセスするとエラーになりますが、typeof演算子を使えばエラーにならず"undefined"という文字列が返されるため、存在確認に便利です。

サンプルコード

<html>
  <body>
    <script>
      var age = 10;
      if (typeof age !== 'undefined') {
        document.write("True");
      } else {
        document.write("False");
      }
    </script>
  </body>
</html>

実行結果

True

JavaScriptにおける「void(0)」とは?

voidはJavaScriptの重要なキーワードの一つで、単項演算子として機能します。オペランド(任意の型の式)を評価しますが、その結果として常にundefinedを返すという特徴があります。つまり、式自体は実行されるものの、戻り値は破棄されます。

voidの構文は、以下の2通りの書き方が可能です。

<head>
  <script>
    // 演算子形式
    void func()
    javascript:void func()

    // またはカッコを使った形式
    void(func())
    javascript:void(func())
  </script>
</head>

undefinedとvoid(0)の違いまとめ

  • undefined:変数に値が代入されていない「状態」を表す値そのもの。
  • void(0):与えられた式を評価した後、必ずundefinedを返す「演算子」。HTMLのaタグなどでリンクのデフォルト動作を無効化したい場合によく使われます。

このように、undefinedは「未定義の状態を表す値」である一方、void(0)は「評価結果に関わらずundefinedを返す演算子」である点が、両者の大きな違いです。

  1. JavaScriptにおける関数とメソッドの違いとは?わかりやすく解説

    JavaScriptにおいて、関数とメソッドは本質的には同じものです。両者の違いは、メソッドがオブジェクトのプロパティとして定義された関数であるという点にあります。つまり、独立して定義されたものを「関数」、オブジェクトに紐づけられたものを「メソッド」と呼びます。 JavaScriptの関数の基本形 まず、一般的な関数の定義方法を見てみましょう。 function functionname(param1, param2){ // 処理内容 } JavaScriptのメソッドの例 メソッドは、オブジェクトに関連付けられた関数です。次の例では、employeeオブジェクトの中にdetails

  2. JavaとJavaScriptの違いとは?歴史・技術・使い分けを徹底解説

    ウェブ開発者のジェレミー・キースは2009年、「JavaとJavaScriptの関係は、ハムとハムスターの関係のようなものだ」と語りました。この比喩がどれほど正確かは議論の余地がありますが、その本質は的確です。共通する言語的ルーツを持つにもかかわらず、JavaとJavaScriptはまったく異なる2つのプログラミング言語なのです。年月とともに両者の重なりも多少増えましたが、今なおJavaScriptはウェブサイトにインタラクティブ性をもたらすフロントエンド言語の主流であり続け、Javaはサーバーサイドやアプリケーション開発で人気を保っています。開発者を採用したい方、プログラミングを学びたい方