와 함께 dest.someAttr을해야 당신의 "이명 령은"개체 위를하고 후 5입니다 가정 :이 같은 객체 키를 복제 할 수 있습니다
Underscore extend 메서드는 기본적으로 destination
및 sources
인 두 개의 매개 변수를 받아들이고 destination
개체를 반환합니다. 기능을 복제하려면 간단한 Object.assign을 사용합니다.
예 : 당신이 발견하는 경우
var extendObject = function (destination, ...sources) {
return Object.assign(destination, ...sources);
}
는 방법은 위의 단지> = 당신이 ES의 낮은 버전에 대한 지원하려면, 당신은 단순히 할 수있는 2015 년,
var extendObject = function (destination, source) {
return Object.assign(destination, source);
}
ES에서 지원
Rest parameter를 사용
사용 분명히
var dest = {a: 1, b: 2};
var src1 = {c: 3, d: 4};
var src2 = {e: 5, f: 6};
// ES >= 2015
extendObject(dest, src1); //{a: 1, b: 2, c: 3, d: 4}
extendObject(dest, src1, src2); //{a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}
// ES <= 5
extendObject(dest, src1); //{a: 1, b: 2, c: 3, d: 4}
extendObject(dest, src2); //{a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}
당신은 소스 코드를 읽고 t보다 더 구체적인 질문을 가지고 올 수있는 다른 방법을 복제 한 경우 그의 작품은 어떻게 작동하는지에 대한 아이디어를 가지고 있습니다. 이 질문은 현재이 사이트에서 너무 광범위합니다. – charlietfl
Underscore의 소스 코드 - 따라서 'extend' 구현은 [GitHub에서] (https://github.com/jashkenas/underscore/blob/master/underscore)입니다. .js). 관련 코드는 1061 행을 참조하십시오. –