Notation entre crochets pour les objets JavaScript : utilisation de l'affectation à gauche ({ Navigation } =)
P粉964682904
P粉964682904 2023-08-24 17:31:38
0
2
451
<p>Je n'ai jamais vu cette syntaxe auparavant et j'aimerais savoir ce qu'elle signifie. </p> <pre class="brush:php;toolbar:false;">var { Navigation } = require('react-router');</pre> L'accolade à gauche de <p> provoquera une erreur de syntaxe : </p> <blockquote> <p>jeton inattendu {</p> </blockquote> <p>Je ne sais pas quelle partie de la configuration du webpack effectue la conversion, ni quel est le but de cette syntaxe. Est-ce une histoire d'Harmony ? Quelqu'un peut m'expliquer cela? </p>
P粉964682904
P粉964682904

répondre à tous(2)
P粉578343994

C'est une mission de déstructuration. Il s'agit d'une nouvelle fonctionnalité d'ECMAScript 2015.

var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} = React;

équivaut à :

var AppRegistry = React.AppRegistry;
var StyleSheet = React.StyleSheet;
var Text = React.Text;
var View = React.View;
P粉350036783

Cela s’appelle Destructuring Mission et fait partie de la Standard ES2015.

Déstructuration d'objets

var o = {p: 42, q: true};
 var {p, q} = o;

 console.log(p); // 42
 console.log(q); // true 

 // 分配新的变量名
 var {p: foo, q: bar} = o;

 console.log(foo); // 42
 console.log(bar); // true

Déstructuration de tableaux

var foo = ["one", "two", "three"];

// 不使用解构
var one   = foo[0];
var two   = foo[1];
var three = foo[2];

// 使用解构
var [one, two, three] = foo;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal