Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der Zuweisung basierend auf dem ES6-Umfang und der Destrukturierung

Detaillierte Erläuterung der Zuweisung basierend auf dem ES6-Umfang und der Destrukturierung

小云云
Freigeben: 2017-12-28 10:29:26
Original
1047 Leute haben es durchsucht

Dieser Artikel enthält eine detaillierte Erläuterung des Umfangs und der Destrukturierungszuweisung basierend auf ES6. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Herausgeber und werfen wir einen Blick darauf. Ich hoffe, es kann allen helfen.

ES6 erzwingt den strikten Modus

Bereich

•var deklariert lokale Variablen, die in geschweiften Klammern for/if definiert sind, auch außerhalb der geschweiften Klammern zugänglich sind

•Die von let deklarierte Variable hat einen Blockbereich und die Variable kann nicht wiederholt definiert werden

•const deklariert eine Konstante im Blockbereich und muss bei der Deklaration einen Wert zugewiesen werden und kann nicht geändert werden

// const声明的k指向一个对象,k本身不可变,但对象可变

function test() {
 const k={
  a:1
 }
 k.b=3;
 
 console.log(k);
}
Nach dem Login kopieren

test( )Destrukturierungszuweisung

{
 let a, b, 3, rest;
 [a, b, c=3]=[1, 2];

 console.log(a, b);
}
//output: 1 2 3

{
 let a, b, 3, rest;
 [a, b, c]=[1, 2];

 console.log(a, b);
}
//output: 1 2 undefined

{
 let a, b, rest;
 [a, b, ...rest] = [1, 2, 3, 4, 5, 6];
 console.log(a, b, rest);
}
//output:1 2 [3, 4, 5, 6]

{
 let a, b;
 ({a, b} = {a:1, b:2})

 console.log(a ,b);
}
//output: 1 2
Nach dem Login kopieren

Verwendungsszenarien

Variablenaustausch

{
 let a = 1;
 let b = 2;
 [a, b] = [b, a];
 console.log(a, b);
}
Nach dem Login kopieren

Mehrere Funktionswerte abrufen

{
 function f(){
  return [1, 2]
 }
 let a, b;
 [a, b] = f();
 console.log(a, b);
}
Nach dem Login kopieren

Mehrere Funktionsrückgabewerte abrufen

{
 function f(){
  return [1, 2, 3, 4, 5]
 }
 let a, b, c;
 [a,,,b] = f();
 console.log(a, b);
}
//output: 1 4

{
 function f(){
  return [1, 2, 3, 4, 5]
 }
 let a, b, c;
 [a, ...b] = f();
 console.log(a, b);
}
//output: 1 [2, 3, 4, 5]
Nach dem Login kopieren

Objektdestrukturierungszuweisung

{
 let o={p:42, q:true};
 let {p, q, c=5} = o;

 console.log(p ,q);
}
//output: 42 true 5
Nach dem Login kopieren

JSON-Wert abrufen

{
 let metaData={
  title: 'abc',
  test: [{
   title: 'test',
   desc: 'description'
  }]
 }
 let {title:esTitle, test:[{title:cnTitle}]} = metaData;
 console.log(esTitle, cnTitle);
}
//Output: abc test
Nach dem Login kopieren

Verwandte Empfehlungen:

Detaillierte Beispiele der neuen Array-Methoden in ES6

Detaillierte Beispiele für die Anwendung von es6 in React

Detaillierte Erläuterung von Javascript in ES6. Implementieren Sie Funktionsbindungs- und Klassenereignisbindungsfunktionen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Zuweisung basierend auf dem ES6-Umfang und der Destrukturierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage