Heim  >  Fragen und Antworten  >  Hauptteil

Notation in eckigen Klammern für JavaScript-Objekte: Verwendung der Zuweisung auf der linken Seite ({ Navigation } =)

<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粉964682904P粉964682904392 Tage vor383

Antworte allen(2)Ich werde antworten

  • P粉578343994

    P粉5783439942023-08-25 10:55:29

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

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

    等同于:

    var AppRegistry = React.AppRegistry;
    var StyleSheet = React.StyleSheet;
    var Text = React.Text;
    var View = React.View;

    Antwort
    0
  • P粉350036783

    P粉3500367832023-08-25 10:49:56

    它被称为解构赋值,是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;

    Antwort
    0
  • StornierenAntwort