第2引数「Object」に含まれている全てのプロパティ(プロトタイプを含む。)を第1引数「Object」にコピーしたものを返す。
■使用例
function Zabadak( name ) {
this.vocal = "上野洋子";
this.guitar = "吉良知彦";
this.works = name;
};
Zabadak.prototype.oldmember = "松田克志";
var func = new Zabadak( "桜" );
var obj = {
title : "遠い音楽",
year : 1990,
author : "Zabadak"
};
// { title: "遠い音楽", year: 1990, author: "Zabadak", vocal: "上野洋子", guitar: "吉良知彦", works: "桜", oldmember: "松田克志" };
var re = _.extend( obj, func );
■内部構造
// _.allKeys() 関数をcreateAssigner()関数に渡す。createAssignerからは部分適用した関数が返ってくる。
_.extend = createAssigner(_.allKeys);