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

JavaScriptの「new」キーワードとは?基本構文と使い方を実例で解説

newキーワードとは

JavaScriptにおける「new」キーワードは、いわゆるnew演算子のことです。ユーザー定義のオブジェクト型(コンストラクタ関数など)から、新しいインスタンスを生成するために使用されます。

new演算子を活用することで、オブジェクトのひな形をもとに同じ構造を持つ複数のオブジェクトを効率的に作成でき、コードの再利用性が高まります。

基本構文

new演算子の基本的な書式は以下のとおりです。constructorにはオブジェクト型を定義したコンストラクタ関数を指定し、必要に応じて引数を渡すこともできます。

new constructor[([arguments])]

使用例

それでは、new演算子を使ってObjectオブジェクトのインスタンスを生成し、プロパティを設定して画面に出力する例を見てみましょう。

<!DOCTYPE html>
<html>
   <body>
      <p id = "test"></p>
      <script>
         var dept = new Object();
         dept.employee = "Amit";
         dept.department = "Technical";
         dept.technology ="Java";
         document.getElementById("test").innerHTML =
            dept.employee + " is working on " + dept.technology + " technology.";
    </script>
   </body>
</html>

このコードでは、まずnew Object()によって空のオブジェクトを生成し、そこに「employee」「department」「technology」という3つのプロパティを追加しています。最後に、これらの値を連結してid属性が「test」の要素へ出力します。

実行結果として、ページには次のように表示されます。

Amit is working on Java technology.

まとめ

newキーワードは、コンストラクタをもとに新しいオブジェクトのインスタンスを作成するための重要な演算子です。オブジェクト指向的なプログラミングを行ううえで欠かせない概念なので、構文と使い方をしっかり押さえておきましょう。

  1. JavaScriptのnew.targetメタプロパティとは?使い方をわかりやすく解説

    JavaScriptのnew.targetとはnew.targetは、関数やコンストラクタが実行時にnewキーワードを使って呼び出されたかどうかを判定できるメタプロパティです。通常、関数をnewをつけずに呼び出すと、コンストラクタとして意図された関数でも単なる通常の関数として実行されてしまい、グローバルオブジェクトにプロパティが設定されるなどの予期しない動作を引き起こす可能性があります。new.targetを利用することで、このような誤用を検出し、エラーとして通知することができます。new演算子とともに呼び出された場合、new.targetは呼び出されたコンストラクタ自身への参照を返します。一

  2. JavaScriptのyield*式とは?ジェネレーターの委譲方法をサンプルコードで解説

    yield* 式は、別のジェネレーター関数やイテラブル(反復可能)オブジェクトを参照し、その値の生成処理を委譲するために使用される構文です。 通常の yield が単一の値を返すのに対し、yield* は指定したジェネレーターや配列などのイテラブルが持つすべての値を、あたかもその場所に直接記述したかのように順番に取り出します。これにより、複数のジェネレーターを連結したり、再帰的なデータ構造を簡潔に走査したりすることが可能になります。 yield*式の基本的な仕組み yield* の後にジェネレーターオブジェクトやイテラブルを指定すると、その要素がすべて順に生成されます。委譲先のジェネレーター