Factory function

1283 ワード

関数がオブジェクトを返す場合はfactory functionと呼ばれます.
ここでオブジェクトを返すことは、ファクトリ関数がクラスまたはコンストラクション関数であることを意味しません.
Javascriptでは、すべての関数がオブジェクトを返すことができます.
この時点でキーワードnewがない場合は、ファクトリ関数です.
ファクトリ関数は、複雑なクラスやnewキーワードを必要とせずに、オブジェクトインスタンスを簡単に作成できます.
ファクトリ関数名にcreate接頭辞を追加することで,関数の意図を明確に伝えることができる.
オブジェクトを繰り返し作成する必要がある場合は、オブジェクト文字とファクトリ関数の機能を結合する必要があります.
たとえば、私以外のユーザーを表示する場合、大量のユーザーオブジェクトが必要な場合は、オブジェクト文字とファクトリ関数の機能を組み合わせることができます.
const name = "hyesik";
const age = 23;

const user = {
  name,
  age,
  setUserName (name) {
    this.name = name;
    return this;
  }
};

const createUser = ({name, age}) => ({
  name,
  age,
  setUserName (name) {
    this.name = name;
    return this;
  }
 });
 
 console.log(createUser({ name: "sikhye", age: 32 })); 
 // {name: "sikhye", age: 32, setUserName: f};
オブジェクトを繰り返し作成する必要がある場合は、次の例に示すように、オブジェクト文字とファクトリ関数の機能を組み合わせることができます.
矢印関数を使用して暗黙的に返します.
オブジェクトのテキストを返してみるときは、次のことに注意してください.
かっこで括る必要があります.
const createSik = () => {name: "sikhye"};
console.log(createSik()); // undefined
const createSik = () => ({ name: "hyesik" });
console.log(createSik()); // {name: "hyesik"}