Maison >interface Web >js tutoriel >Quelles sont les méthodes de déstructuration en es6

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

php中世界最好的语言
php中世界最好的语言original
2018-04-18 15:14:201549parcourir

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

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});

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" };

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
let obj = {
 p: [
 'Hello',
 { y: 'World' }
 ]
};
let { p: [x, { y }] } = obj;
x // "Hello"
y // "World"

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"}]

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

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

function add([x, y]){
 return x + y;
}
add([1, 2]); // 3

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!

Déclaration:
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