바꿀 부분을 객체로 전달하기
연산 이름과 경로를 나열하는 대신 변경할 항목을 객체 구조에 담는다. 패치에 없는 항목은 유지하고, 중첩 객체에는 같은 병합 규칙을 재귀적으로 적용한다. 대상이 객체가 아닌데 객체 패치를 받으면 빈 객체를 기준으로 병합한다.
삭제와 null 값의 관계
객체 안에서 null은 값을 저장하는 지시가 아니라 항목을 제거하는 지시다. 이미 없는 항목을 삭제하려 해도 새 항목이 생기지 않는다. 따라서 명시적인 null 값을 자주 저장해야 하는 자료에는 이 표현 방식이 적합하지 않을 수 있다.
배열과 전체 교체
패치 자체가 객체가 아니면 해당 대상 전체를 패치 값으로 바꾼다. 배열도 원소별로 병합하지 않으므로 일부 원소만 고치려면 완성된 배열을 전달하거나 다른 변경 형식을 사용해야 한다. 병합은 자료 값에 적용되며 원래 공백이나 객체 항목의 표시 순서를 보존하는 작업은 아니다.