Co je to mělká kopie JavaScriptu?
Co je to mělká kopie JavaScriptu?

Video: Co je to mělká kopie JavaScriptu?

Video: Co je to mělká kopie JavaScriptu?
Video: Copying Arrays (deep and shallow) - Beau teaches JavaScript 2024, Smět
Anonim

Mělká kopie je trochu moudrý kopírovat objektu. Vytvoří se nový objekt, který má přesné kopírovat hodnot v původním objektu. Pokud jsou některé z polí objektu odkazy na jiné objekty, jsou to pouze referenční adresy zkopírován tj. pouze adresa paměti je zkopírován.

Když to vezmeme v úvahu, co je to mělká kopie v JavaScriptu?

Mělká kopie je trochu moudrý kopírovat objektu. Vytvoří se nový objekt, který má přesné kopírovat hodnot v původním objektu. Pokud jsou některé z polí objektu odkazy na jiné objekty, jsou to pouze referenční adresy zkopírován tj. pouze adresa paměti je zkopírován.

Za druhé, co je mělká kopie pole? A mělká kopie kopií pole pouze prvky Pole , ať už se jedná o referenční typy nebo hodnotové typy, ale není tomu tak kopírovat objekty, na které se odkazy vztahují. Reference v novém Pole ukazují na stejné objekty, na které odkazuje originál Pole ukázat na.

Co je tedy hluboké kopírování a mělké kopírování v JavaScriptu?

A hluboká kopie znamená, že všechny hodnoty nové proměnné jsou zkopírován a odpojena od původní proměnné. A mělká kopie znamená, že určité (pod)hodnoty jsou stále spojeny s původní proměnnou. Opravdu pochopit kopírování , musíte se dostat do toho, jak JavaScript ukládá hodnoty.

Proč potřebujeme mělkou kopii?

Kdykoli my použít výchozí implementaci metody klonování my dostat mělká kopie objektu znamená, že vytváří novou instanci a kopie celé pole objektu do této nové instance a vrátí jej jako typ objektu, potřebujeme abychom jej explicitně přenesli zpět do našeho původního objektu. Tohle je mělká kopie objektu.

Doporučuje: