Есть ли недостатки в копировании замороженного массива в JavaScript? - PullRequest
0 голосов
/ 08 октября 2019

В JavaScript массивы являются объектами, а объекты могут быть заморожены, поэтому я думаю, что это можно сделать?

const frozenArr = Object.freeze([1, 2, 3, 4, 5])

, таким образом,

//frozenArr.push(6) //does not work, "Cannot add property 5, object is not extensible..."

Однако, если я создаю новый массив иззамороженный

const anotherArr = Array.from(frozenArr)

затем

anotherArr.push(6) // works

Мои вопросы к вам, есть ли недостатки у копирования замороженного массива? Каков его прототип, и унаследовал ли он какие-либо нежелательные свойства от него? Заранее спасибо!

1 Ответ

3 голосов
/ 08 октября 2019

Только downside? может означать, что вы клонируете исходный объект / массив и таким образом удваиваете память! В противном случае вы можете точно скопировать объект, но он все равно не связан с первым объектом. Любые обновления не влияют на исходный массив / объект.

...