Hvad er en lavvandet kopi JavaScript?
Hvad er en lavvandet kopi JavaScript?

Video: Hvad er en lavvandet kopi JavaScript?

Video: Hvad er en lavvandet kopi JavaScript?
Video: CAMPING i REGNEN - TELT i TELT 2024, Kan
Anonim

Overfladisk kopi er lidt klogt kopi af en genstand. Der oprettes et nyt objekt, der har en nøjagtig kopi af værdierne i det originale objekt. Hvis nogen af objektets felter er referencer til andre objekter, er det kun referenceadresserne kopieret dvs. kun hukommelsesadressen er kopieret.

Når man tager dette i betragtning, hvad er en overfladisk kopi i JavaScript?

Overfladisk kopi er lidt klogt kopi af en genstand. Der oprettes et nyt objekt, der har en nøjagtig kopi af værdierne i det originale objekt. Hvis nogen af objektets felter er referencer til andre objekter, er det kun referenceadresserne kopieret dvs. kun hukommelsesadressen er kopieret.

For det andet, hvad er en overfladisk kopi af et array? EN flad kopi af et array-kopier kun elementerne i Array , uanset om de er referencetyper eller værdityper, men det gør den ikke kopi de genstande, som referencerne henviser til. Referencerne i det nye Array pege på de samme objekter, som referencerne i originalen Array pege på.

Derfor, hvad er deep copy og overfladisk kopi i JavaScript?

EN dyb kopi betyder, at alle værdierne af den nye variabel er kopieret og afbrudt fra den oprindelige variabel. EN flad kopi betyder, at visse (under-)værdier stadig er forbundet med den oprindelige variabel. For virkelig at forstå kopiering , du skal komme ind på hvordan JavaScript gemmer værdier.

Hvorfor har vi brug for en overfladisk kopi?

Hver gang vi brug standardimplementering af klonmetode vi få flad kopi af objekt betyder, at det opretter en ny instans og kopier hele objektfeltet til den nye instans og returnerer det som objekttype, vi behøver for eksplicit at kaste det tilbage til vores oprindelige objekt. Dette er flad kopi af objektet.

Anbefalede: