J'ai donc ce code JavaScript, quelle est la différence entre la ligne A et la ligne B
const arr1 = [1,2,3,4,5] const arr2 = [...arr1]; // Ligne A const arr2 = arr1; // Ligne B
Je veux donc savoir si ces deux méthodes d'affectation sont identiques ou s'il existe des différences
Ils sont différents.
LINE A, copie (copie superficielle) chaque élément du tableau dans
arr2
.LINE B, attribuez la référence de
sont le même tableau. Exemplearr1
àarr1
的引用赋值给arr2
。基本上,arr1
和arr2
. Fondamentalement,arr1
etCopie superficielle La copie superficielle copie uniquement les éléments de premier niveau. Par exemple, si un tableau contient un autre tableau, le tableau interne est copié, mais les éléments du tableau interne ne sont pas copiés. Les éléments profonds ne sont donc pas copiés. Voir l'exemple de code ci-dessous :