Déstructuration de tableau ES6 : Comprendre le comportement inattendu
Dans ES6, la déstructuration de tableau nous permet d'extraire des éléments spécifiques d'un tableau et de les attribuer à variables. Toutefois, un comportement inattendu peut se produire lorsque certaines règles de syntaxe sont ignorées. Considérez le code suivant :
<code class="js">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
Résultat attendu :
Résultat réel :
Explication :
Comme indiqué dans la question, l'absence de points-virgules entre les lignes conduit à ce comportement inattendu. Sans points-virgules explicites, le code est interprété comme une seule instruction :
<code class="js">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
Cette répartition explique le résultat inhabituel :
Pour éviter ces conséquences involontaires, il est essentiel d'ajouter explicitement des points-virgules après les instructions commençant par des parenthèses, des crochets, l'opérateur de division, l'opérateur d'addition, l'opérateur de soustraction ou des backticks (pour les modèles balisés). empêchant une évaluation inattendue et des résultats incorrects.
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!