Irrégularité de déstructuration de tableau ES6
Une anomalie intéressante se produit lors de l'utilisation de la déstructuration de tableau ES6, comme démontré dans l'extrait de code suivant :
<code class="javascript">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
Attendu : a=A b=BB c=C
Réel : a=BB b=C c=undefined
Analyse :
La cause première réside dans l'absence de points-virgules, ce qui est activé par la fonctionnalité d'insertion automatique de point-virgule (ASI) en JavaScript. Cependant, dans ce cas précis, ASI n'insère pas de points-virgules comme on pourrait s'y attendre.
Le code est logiquement découpé comme suit :
<code class="javascript">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
Résolution :
Pour contourner cette particularité, il est crucial d'ajouter explicitement des points-virgules au début de chaque ligne commençant par (, [, /, , -, ou `. Cette approche garantit une bonne séparation des instructions et élimine le comportement inattendu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!