この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
26. Object.assign()を実装する
function myAssign(target, ...sources) { if (typeof target !== "object" || target === null) { throw new TypeError("Target must be an object"); } sources.forEach((source) => { if (typeof source !== "object" || source === null) { return; } Object.keys(source).forEach((key) => { target[key] = source[key]; }); }); return target;}
この実装では、targetと1つ以上のsourcesを受け取ります。まず、targetがオブジェクトであることを確認し、TypeErrorをスローします。次に、それぞれのsourcesについて以下を行います。
- もし
sourceがオブジェクトでない場合、何もしません。 - そうでない場合、
sourceの各プロパティについて、そのプロパティをtargetにコピーします。
最後に、targetを返します。