Notation in eckigen Klammern für JavaScript-Objekte: Verwendung der Zuweisung auf der linken Seite ({ Navigation } =)
P粉964682904
P粉964682904 2023-08-24 17:31:38
0
2
417
<p>Ich habe diese Syntax noch nie gesehen und würde gerne wissen, was sie bedeutet. </p> <pre class="brush:php;toolbar:false;">var { Navigation } = require('react-router');</pre> Die geschweifte Klammer links von <p> führt zu einem Syntaxfehler: </p> <blockquote> <p>unerwartetes Token {</p> </blockquote> <p>Ich bin nicht sicher, welcher Teil der Webpack-Konfiguration die Konvertierung durchführt oder welchen Zweck diese Syntax hat. Ist das eine Harmony-Sache? Kann mir das jemand erklären? </p>
P粉964682904
P粉964682904

Antworte allen(2)
P粉578343994

这是解构赋值。它是ECMAScript 2015的一个新特性。

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

等同于:

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

它被称为解构赋值,是ES2015标准的一部分。

对象解构

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

数组解构

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

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

// 使用解构
var [one, two, three] = foo;
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage