Taip patogu pasiekti narius kai property vardas prasideda raide arba _
ir žinomas iš anksto:
> { a: 42 }.a
42
Reikia naudoti, kai property vardas prasideda kitu simboliu:
> { '-b': 52 }['-b']
52
Reikia naudoti, kai property vardas yra kintamajame:
> key = 'a'
'a'
> { a: 42 }[key]
42
> obj = { a: 42 }
> obj.b = 52
> obj['c'] = 72
> obj
{ a: 42, b: 52, c: 72 }
...
> { a: 42, ...{ b: 52 }}
{ a: 42, b: 52 }
"Įskleidžia" vieną objektą į kitą.
Į objektus galima spread'inti bet kokias reikšmes. Jei reikšmė tuščia arba jos negalima konvertuoti į objektą, naujų properčių neatsiras:
> { a: 42, ...0, ...'', ...false, ...NaN, ...null, ...undefined }
{ a: 42 }
Object
metodaiKodui žemiau naudosime: obj1 = { a: 42 }
.
Object.assign( obj1, { b: 52 })
Perkopijuoja properčius pirmajam argumentui iš sekančių argumentų.
Šiuo atveju atsiras: obj1.b === 52
.
Object.entries( obj1 )
Paverčia objektą masyvu, kurio kiekvieną propertį atitinka masyvas [ name, value ]
.
Šiuo atveju bus: [ [ 'a', 42 ] ]
.
Object.fromEntries([[ 'a', 42 ]])
{ a: 42 }
.Object.keys( obj1 )
[ 'a' ]
.Object.values( obj1 )
[ 42 ]
.