assign/extend는 소스의 각 속성을 가져오고 해당 값을 있는 그대로 대상에 복사합니다. 속성 값 자체가 개체인 경우 속성의 재귀 순회가 없습니다. 이것을 얕은 복사/복제라고도 합니다. 전체 개체는 소스에서 가져와 대상으로 설정됩니다.
병합은 소스의 각 속성을 가져와 해당 속성이 개체 자체인지 확인합니다. 그런 다음 재귀적으로 다운되고 소스에서 대상으로 하위 개체 속성을 매핑하려고 시도하는 경우
예시
let _ = require('lodash'); let destination = { a: { b: 1, c: 2 }, }; let source = { a: { d: 2, c: 3 }, }; console.log(_.merge(destination, source)); console.log(_.extend(destination, source));
출력
이것은 출력을 줄 것입니다 -
{ a: { b: 1, c: 3, d: 2 } } { a: { d: 2, c: 3 } }