Was bedeutet die "..." (Tripelpunkt) -Notation in Arrays? [Duplikat]

9

Ich verstehe nicht, was die ... -Notation genau macht.

Ich habe ein einfaches Beispiel mit Babel versucht, um es zu verstehen ( Anzeigen der Beispiel ), aber es sieht so aus:

ES6-Syntax

%Vor%

ist dasselbe wie diese ES5-Syntax :

%Vor%

ABER: Was macht dieser Code? Weil die Ausgabe ( console.log ) dieselbe ist wie in diesem Code (ES5):

%Vor%

Was bedeutet die ...18 -Notation?

    
Aral Roca 18.03.2016, 22:59
quelle

2 Antworten

12

Der ... ( Spread-Operator ) funktioniert, indem jeder Wert vom Index 0 zum Index length-1 :

zurückgegeben wird

Als Beispiel:

%Vor%

Das wäre das gleiche wie:

%Vor%

Um nun ein Array von 1 bis 18 zu erhalten, können Sie Folgendes tun:

%Vor%

Oder dies mit Karte:

%Vor%

Ich hoffe, es hilft.

    
user4227915 18.03.2016, 23:05
quelle
1

Der Ausdruck [1, 2, 3, ...18] ist ungültig.

Sie können ... nicht mit einer Nummer Sie können ... nur mit einem iterierbaren Objekt wie einem Array , String oder Objekt .

Es ist interessant zu bemerken, dass Tracur - ein anderer Transpiler - einen Fehler beim Füttern auslöst derselbe Code:

  

TypeError : Nicht iterierbares Objekt kann nicht verteilt werden.

Ich bin nicht intim mit der Spezifikation , aber ich denke, das könnte ein Babel "Bug" sein .

    
Alex Booker 18.03.2016 23:04
quelle

Tags und Links