食べ物、飲み物、スナックなど、javascriptで複数の食べられるクラスがあります。このクラスごとに、異なるパラメーターのセットが必要です。送信される食べられるアイテムのインスタンスを作成する別のファクトリ クラスがあります。
このファクトリを使用して、食べられるアイテムを動的に選択し、引数 (配列形式) を渡す方法を理解できませんか?
私は2つの解決策を考え出しました - 解決策1:
var factory = function(eatable, argumentList){
var obj = new eatable(argumentList);
return obj
};
これは問題です。なぜなら、argumentList は配列だからです。
解決策 2
var factory = function(eatable, argumentList){
var obj = eatable.apply({}, argumentList);
return obj
};
これは、食べられるタイプのオブジェクトを実際に作成するわけではありません。
私が本当に望んでいる効果私 は引数リストをjs引数型オブジェクトに変換できるとしましょう -
var obj = new eatable(argumentList.toArguments());
obj instanceOf eatable; // should return true
助けてください!