Closed2

【JavaScript】クラス

ShionShion

ファクトリ関数とコンストラクタ関数

ファクトリ関数

同じようなオブジェクトを複数作る際、ファクトリ関数を用意すれば効率的に量産できる。

const UserFactory = (name, age) => {
  return {
    name,
    age,
    greeting() {},
  };
};

const user1 = UserFactory("Yama", 22);
const user2 = UserFactory("Sakai", 44);

コンストラクタ関数

JS はコンストラクタ関数というものを用意しており、それでもオブジェクトの量産が可能。
以下のように new を使って呼び出した関数のことを、コンストラクタ関数という。

const UserConstructor = function(name, age) {
  this.name = name,
  this.age = age
  this.greeting = function() {}
}

const user1 = new UserConstructor("Yama", 22);
const user2 = new UserConstructor("Sakai", 44);

ただ、このコンストラクタ関数、普通の「関数」として使われるのか「コンストラクタ関数」として使われるのか判断がつかない・・・。そこで、class が登場する。

ShionShion

クラス

以下のようにクラスを作成できる。

class User {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  greeting() {}
}

const user1 = new User("Yamada", 22);

console.log(user1);

クラスは、コンストラクタ関数の上位互換なので、基本はクラスを使用する。

このスクラップは2024/12/23にクローズされました