駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

ファクトリ関数

ファクトリ関数・・・

簡潔に言うと、オブジェクトを返す関数のことです。

ただ、コンストラクター関数のように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番目に仲間になったメンバーです。

ものによっては受け取った引数をそのまま使わず、加工してからオブジェクトを返した

い場合があります。その際にファクトリ関数を使うと、これらができる利点がある。

ファクトリ関数ではメソットを使わずに加工できるので、より簡潔に記述が可能です。