Maison > interface Web > js tutoriel > le corps du texte

Quelles sont les méthodes de déstructuration en es6

php中世界最好的语言
Libérer: 2018-04-18 15:14:20
original
1477 Les gens l'ont consulté

Cette fois, je vais vous apporter les méthodes de déconstruction es6 et quelles sont les précautions pour la déconstruction es6 Ce qui suit est un cas pratique, jetons un coup d'œil.

Soyez très prudent si vous souhaitez utiliser une variable déclarée pour une affectation de déstructuration.

// 错误的写法
let x;
{x} = {x: 1};
// SyntaxError: syntax error
Copier après la connexion

Le code ci-dessus signalera une erreur car le moteur JavaScript comprendra {x} comme un bloc de code, ce qui entraînera une erreur de syntaxe. Ce problème ne peut être résolu qu'en n'écrivant pas l'accolade au début de la ligne pour empêcher JavaScript de l'interpréter comme un bloc de code.

// 正确的写法
let x;
({x} = {x: 1});
Copier après la connexion

Si le nom de la variable n'est pas cohérent avec le nom de l'attribut, il doit être écrit comme suit.

var { foo: baz } = { foo: 'aaa', bar: 'bbb' };
baz // "aaa"
let obj = { first: 'hello', last: 'world' };
let { first: f, last: l } = obj;
f // 'hello'
l // 'world'
//这实际上说明,对象的解构赋值是下面形式的简写
let { foo: foo, bar: bar } = { foo: "aaa", bar: "bbb" };
Copier après la connexion

En d'autres termes, le mécanisme interne de déstructuration et d'affectation des objets consiste d'abord à rechercher l'attribut du même nom, puis à l'attribuer à la variable correspondante. Ce qui est réellement attribué, c'est la seconde solution et non la première.

let { foo: baz } = { foo: "aaa", bar: "bbb" };
baz // "aaa"
foo // error: foo is not defined
Copier après la connexion
let obj = {
 p: [
 'Hello',
 { y: 'World' }
 ]
};
let { p: [x, { y }] } = obj;
x // "Hello"
y // "World"
Copier après la connexion

Remarque : p est actuellement un modèle, pas une variable, donc aucune valeur ne lui sera attribuée. Si p doit également être affecté comme variable, il peut s’écrire comme suit.

let obj = {
 p: [
 'Hello',
 { y: 'World' }
 ]
};
let { p, p: [x, { y }] } = obj;
x // "Hello"
y // "World"
p // ["Hello", {y: "World"}]
Copier après la connexion

Lors de la déstructuration de l'affectation, si le côté droit du signe égal est une valeur numérique ou une valeur booléenne, il sera d'abord converti en objet

let {toString: s} = 123;
s === Number.prototype.toString // true
let {toString: s} = true;
s === Boolean.prototype.toString // true
Copier après la connexion

Les paramètres de fonction peuvent également être attribués par déstructuration.

function add([x, y]){
 return x + y;
}
add([1, 2]); // 3
Copier après la connexion

Dans le code ci-dessus, le paramètre de la fonction add est un tableau sur la surface, mais au moment où le paramètre est passé, le paramètre du tableau est déconstruit en variables x et y. Pour le code à l'intérieur de la fonction, les paramètres qu'ils peuvent ressentir sont x et y

undefined déclenchera la valeur par défaut du paramètre de fonction.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

La combinaison de balises HTML avec des nœuds DOM

js interdit les événements de retour du navigateur

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!