Ich las den Quellcode der Festdatentabelle des Facebook, und ich fand thisJavaScript: var {links, ... requisiten} = this.props;
var {left, ...props} = this.props;
Was das bedeutet? Ist das eine neue Semantik? Ich bin verwirrt o.O
Ich las den Quellcode der Festdatentabelle des Facebook, und ich fand thisJavaScript: var {links, ... requisiten} = this.props;
var {left, ...props} = this.props;
Was das bedeutet? Ist das eine neue Semantik? Ich bin verwirrt o.O
Es ist eine spezielle Form der Destrukturierung Aufgabe proposed for ES7 (und eifrig in den Jsx-Tools und Babel implementiert). Es erstellt zwei Variablen: left
und props
.
left
hat den Wert this.props.left
.
props
ist ein Objekt mit allen anderen Eigenschaften von this.props
(ohne left
).
Wenn Sie es ohne Destrukturierung schrieb es so aussehen würde:
var left = this.props.left;
var props = {};
Object.keys(this.props).forEach(function(key, index){
if (key !== 'left') {
props[key] = this.props[key];
}
}, this);
Das ist mehr als ein paar Zeichen :-) abrasiert
Können Sie einen Link für diese Art von "Rest Destrukturierung" zur Verfügung stellen? In Traceur funktioniert es zumindest nicht für mich. –
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-destructions-assignment (bearbeiten: und 12.14.5.4) – FakeRainBrigand
Diese Referenz beschreibt die Syntax hier nicht. Es beschreibt eine Syntax für die Destrukturierungsaufgabe mit Arrays, wie in 'var [a, ... b] = [1, 2, 3]'. Ich habe die hier gezeigte Syntax nie gesehen, was nicht heißen soll, dass sie nicht existiert ... –
Es ist ES6 Destrukturierung Zuordnung. – Pointy
mögliches Duplikat von [Ist var {Route, Redirect, RouteHandler, Link} = Router; gültig in Javascript?] (http://stackoverflow.com/questions/27136394/is-var-route-redirect-routehandler-link-router-valid-in-javascript) –
@ Qantas94Heavy, Es ist nicht ganz ein Duplikat, weil das andere Frage erwähnt nicht Rest Destrukturierung. – FakeRainBrigand