Qu'est-ce qu'une copie superficielle JavaScript ?
Qu'est-ce qu'une copie superficielle JavaScript ?

Vidéo: Qu'est-ce qu'une copie superficielle JavaScript ?

Vidéo: Qu'est-ce qu'une copie superficielle JavaScript ?
Vidéo: Copie superficielle et profonde Javascript 2024, Peut
Anonim

Copie superficielle est un peu sage copie d'un objet. Un nouvel objet est créé qui a un copie des valeurs dans l'objet d'origine. Si l'un des champs de l'objet fait référence à d'autres objets, seules les adresses de référence sont copié c'est-à-dire que seule l'adresse mémoire est copié.

En tenant compte de cela, qu'est-ce qu'une copie superficielle en JavaScript ?

Copie superficielle est un peu sage copie d'un objet. Un nouvel objet est créé qui a un copie des valeurs dans l'objet d'origine. Si l'un des champs de l'objet fait référence à d'autres objets, seules les adresses de référence sont copié c'est-à-dire que seule l'adresse mémoire est copié.

Deuxièmement, qu'est-ce qu'une copie superficielle d'un tableau ? UNE copie superficielle d'un Array copies seuls les éléments du Déployer , qu'il s'agisse de types référence ou de types valeur, mais il ne copie les objets auxquels les références font référence. Les références dans le nouveau Déployer pointent vers les mêmes objets que les références dans l'original Déployer pointer vers.

Par conséquent, qu'est-ce que la copie profonde et la copie superficielle en JavaScript ?

UNE copie profonde signifie que toutes les valeurs de la nouvelle variable sont copié et déconnecté de la variable d'origine. UNE copie superficielle signifie que certaines (sous-)valeurs sont toujours connectées à la variable d'origine. Pour vraiment comprendre copier , vous devez entrer dans la façon dont JavaScript stocke les valeurs.

Pourquoi avons-nous besoin d'une copie superficielle ?

N'importe quand nous utiliser l'implémentation par défaut de la méthode clone nous avoir copie superficielle d'objet signifie qu'il crée une nouvelle instance et copies tout le champ de l'objet à cette nouvelle instance et le renvoie comme type d'objet, nous avons besoin pour le renvoyer explicitement à notre objet d'origine. C'est copie superficielle de l'objet.

Conseillé: