✍️

【JavaScript】new 演算子って何だ?

2022/10/18に公開

はじめに

閲覧ありがとうございます。来月から実務デビューのYunosukeです。

今回はJavaScriptのnew 演算子に関しての備忘録です。
多分まだ完全に理解出来てないです。

new 演算子の定義

コンストラクタ関数からインスタンスを作成するために使用する演算子のことになります。

コンストラクタ関数とは

コンストラクタ関数とは、関数の雛形のことです。
コードを書いて説明すると...

function Person(name, age) {
  this.name = name;
  this.age = age;
}

上記がコンストラクタ関数になります。
また、コンストラクタ関数を宣言するときは、変数の頭文字を大文字にするのが定石のようです。

インスタンスについては、次項で説明いたします。

コンストラクタ関数とnew 演算子を使って、オブジェクトを量産する

先程書いたコンストラクタ関数を元に、new 演算子を使ってオブジェクトを量産してみましょう。

function Person(name, age) {
  this.name = name;
  this.age = age;
}

const bob = new Person('Bob', '23');
const tom = new Person('Tom', '28');

console.log(bob, tom);

コンソールを見てみると...

Personというコンストラクタ関数(雛形)を元に、new 演算子を使ってbobtomというオブジェクトが生成されていることがわかりますね。

このnew 演算子を使ってオブジェクトを生成すること、つまりnew Person(name, age);の部分のことをインスタンス化といい、new 演算子を使って生成されたオブジェクト、つまりconst bobconst tomの部分のことをインスタンスといいます。

このコンストラクタ関数、インスタンス、インスタンス化という言い回しは、JavaScriptを学習していると色々な部分で耳にすることになると思うので、是非覚えていきましょう!

おわりに

ん〜、メカニズムの話は本当に難しいですね笑

久しぶりに初めてJavaScriptを勉強した際に使用した書籍を取り出してみたのですが、ここまでの説明は一切ありませんでした。

まぁ、こんな話を初心者にしても挫折する未来しか見えないので仕方ないということでしょうか。

それでは良いエンジニアライフを。

Discussion