この解答例は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
を返します。