ファクトリ関数
ファクトリ関数・・・
簡潔に言うと、オブジェクトを返す関数のことです。
ただ、コンストラクター関数のようにnewキーワードをつけるのではなく、関数そのも
のがオブジェクトを返す関数のことを意味します。
早速サンプルを確認してみます。
//ファクトリ関数
function makeColor(r, g, b) {
const color = {};
color.r = r;
color.g = g;
color.b = b;
return color;
}
const firstColor = makeColor(50, 100, 20);
//{r:50, g:100, b:20 }
ファクトリ関数の特徴してしては、
・「new」というキーワードを使う必要がない
・関数内で、「this」を使う必要もない
点が挙げられます。
また、メリットは関数内でデータを加工してオブジェクトを返すことができます。
function member(num, name) {
return `${name}は、海賊団の中で${num}番目に仲間になったメンバーです。`
}
const crew1 = createCar(1, 'ゾロ')
console.log(crew1);
//ゾロは、海賊団の中で1番目に仲間になったメンバーです。
ものによっては受け取った引数をそのまま使わず、加工してからオブジェクトを返した
い場合があります。その際にファクトリ関数を使うと、これらができる利点がある。
ファクトリ関数ではメソットを使わずに加工できるので、より簡潔に記述が可能です。