Referans nesne için dinlenme / yayılma ECMAScript 2018'de aşama 4 olarak sonlandırılır. Teklif burada bulunabilir .
Çoğunlukla nesne sıfırlama ve yayma çalışmaları aynı şekilde, temel fark, yayılmanın özellikleri tanımlaması ve Object.assign () tarafından ayarlanmasıdır . Bu, Object.assign () ayarlayıcılarını tetiklediği anlamına gelir.
Bunun dışında, nesne dinlenme / yayılma 1: 1 nesnesinin Object.assign () ile eşleştiğini ve dizi (yinelenebilir) yayılmaya farklı davrandığını hatırlamakta fayda var. Örneğin, bir diziyi yayarken null değerler yayılır. Ancak nesne yayılımı kullanıldığında null değerler sessizce hiçbir şeye yayılmaz.
Dizi (Yinelenebilir) Yayılma Örneği
const x = [1, 2, null , 3];
const y = [...x, 4, 5];
const z = null;
console.log(y); // [1, 2, null, 3, 4, 5];
console.log([...z]); // TypeError
Nesne Yayılım Örneği
const x = null;
const y = {a: 1, b: 2};
const z = {...x, ...y};
console.log(z); //{a: 1, b: 2}
Bu, Object.assign () işlevinin çalışma biçimiyle tutarlıdır; her ikisi de sessiz olarak null değeri hatasız olarak hariç tutar.
const x = null;
const y = {a: 1, b: 2};
const z = Object.assign({}, x, y);
console.log(z); //{a: 1, b: 2}