Inhaltsverzeichnis
Concepts
array Destructuring bezeichnet wird
Dekonstruieren Sie den Standardwert
交换变量值
解构函数返回的数组
忽略返回值(或跳过某一项)
赋值数组剩余值给一个变量
嵌套数组解构
字符串解构
对象解构
基础对象解构
赋值给新变量名
解构默认值
赋值给新对象名的同时提供默认值
同时使用数组和对象解构
不完全解构
赋值剩余值给一个对象
嵌套对象解构(可忽略解构)
注意事项
小心使用已声明变量进行解构
Die Destrukturierungsfunktion gibt das Array zurück.
Weisen Sie den verbleibenden Wert des Arrays einer Variablen zu.
Hinweis:
提取JSON数据
Heim Web-Frontend js-Tutorial Machen Sie sich mit der JavaScript-Destrukturierungsaufgabe vertraut

Machen Sie sich mit der JavaScript-Destrukturierungsaufgabe vertraut

Mar 17, 2022 pm 05:36 PM
javascript

Dieser Artikel vermittelt Ihnen relevantes Wissen über Javascript und stellt hauptsächlich verwandte Themen zur Destrukturierungszuweisung vor, einschließlich Array-Destrukturierung, Objektstruktur und Verwendung von Destrukturierung usw. Ich hoffe, dass er für alle hilfreich ist.

Machen Sie sich mit der JavaScript-Destrukturierungsaufgabe vertraut

-Reformationsempfehlungen: JavaScript -Lerntutorial

Concepts

es6 bietet einen prägnanteren Zuordnungsmodus, um Werte aus Arrays und Objekten zu extrahieren, was als Destructuring

-Beispiel:

[a, b] = [50, 100];
console.log(a);
// expected output: 50
console.log(b);
// expected output: 100

[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(rest);
// expected output: [30, 40, 50]
Nach dem Login kopieren

array Destructuring bezeichnet wird

Array-Destrukturierung ist sehr einfach und prägnant. Verwenden Sie ein Array-Literal auf der linken Seite des Zuweisungsausdrucks. Jeder Variablenname im Array-Literal wird demselben Indexelement des destrukturierten Arrays zugeordnet wie folgt: Genau wie in diesem Beispiel erhalten die Elemente im Array auf der linken Seite jeweils die Werte der entsprechenden Indizes des destrukturierten Arrays auf der rechten Seite ​separat durch Variablendeklaration

Beispiel: Variablen deklarieren und Werte separat zuweisen

let [a, b, c] = [1, 2, 3];
// a = 1
// b = 2
// c = 3
Nach dem Login kopieren

Dekonstruieren Sie den Standardwert

Wenn der dekonstruierte Wert undefiniert ist, können Sie den Standardwert festlegen:

// 声明变量
let a, b;
// 然后分别赋值
[a, b] = [1, 2];
console.log(a); // 1
console.log(b); // 2
Nach dem Login kopieren

Im obigen Beispiel legen wir Standardwerte für a und b fest

Auf diese Weise wird in diesem Fall, wenn der Wert von a oder b undefiniert ist, der festgelegte Standardwert zugewiesen die entsprechende Variable (5 ist a zugewiesen, 7 ist b zugewiesen)

Variablenwerte austauschen

undefined,可以设置默认值:

let a, b;
// 设置默认值
[a = 5, b = 7] = [1];
console.log(a); // 1
console.log(b); // 7
Nach dem Login kopieren

在上面的例子中,我们给a和b均设置了默认值
这种情况下,如果a或b的值是undefined,它将把设置的默认值赋给相应变量(5赋给a,7赋给b)

交换变量值

以往我们进行两个变量的交换,都是使用

//交换abc = a;a = b;b = c;
Nach dem Login kopieren

或者异或的方法

然而在解构赋值中,我们可以在一个解构表达式中交换两个变量值

let a = 1;let b = 3;//交换a和b的值[a, b] = [b, a];console.log(a); // 3console.log(b); // 1
Nach dem Login kopieren

解构函数返回的数组

我们可以直接解构一个返回值为数组的函数

function c() {
  return [10, 20];}let a, b;[a, b] = c();console.log(a); // 10console.log(b); // 20
Nach dem Login kopieren

在上面的例子中,**c()**的返回值[10,20]可以在单独的同一行代码中使用解构

忽略返回值(或跳过某一项)

你可以有选择性的跳过一些不想得到的返回值

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

赋值数组剩余值给一个变量

当你使用数组解构时,你可以把赋值数组剩余的部分全部赋给一个变量

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

这样的话b也会变成一个数组了,数组中的项是剩余的所有项

注意:
这里要小心结尾是不能再写逗号的,如果多了一个逗号将会报错

let [a, ...b,] = [1, 2, 3];// SyntaxError: rest element may not have a trailing comma
Nach dem Login kopieren

嵌套数组解构

像对象一样,数组也可以进行嵌套解构

示例:

const color = ['#FF00FF', [255, 0, 255], 'rgb(255, 0, 255)'];
// Use nested destructuring to assign red, green and blue
// 使用嵌套解构赋值 red, green, blue
const [hex, [red, green, blue]] = color;
console.log(hex, red, green, blue); // #FF00FF 255 0 255
Nach dem Login kopieren

字符串解构

在数组解构中,解构的目标若为可遍历对象,皆可进行解构赋值,可遍历对象即实现Iterator接口的数据

let [a, b, c, d, e] = 'hello';/*
a = 'h'
b = 'e'
c = 'l'
d = 'l'
e = 'o'
*/
Nach dem Login kopieren

对象解构

基础对象解构

let x = { y: 22, z: true };
let { y, z } = x; // let {y:y,z:z} = x;的简写

console.log(y); // 22
console.log(z); // true
Nach dem Login kopieren

赋值给新变量名

当使用对象解构时可以改变变量的名称

let o = { p: 22, q: true };
let { p: foo, q: bar } = o;

console.log(foo); // 22
console.log(bar); // true
Nach dem Login kopieren

如上代码var {p: foo} = o 获取对象 o 的属性名 p,然后赋值给一个名称为 foo 的变量

解构默认值

如果解构取出的对象值是undefined,我们可以设置默认值

let { a = 10, b = 5 } = { a: 3 };

console.log(a); // 3
console.log(b); // 5
Nach dem Login kopieren

赋值给新对象名的同时提供默认值

前面提到过我们赋值给新的对象名,这里我们可以给这个新的对象名提供一个默认值,如果没有解构它,就会自动使用默认值

let { a: aa = 10, b: bb = 5 } = { a: 3 };

console.log(aa); // 3
console.log(bb); // 5
Nach dem Login kopieren

同时使用数组和对象解构

在结构中数组和对象可以一起使用

const props = [
  { id: 1, name: 'Fizz' },
  { id: 2, name: 'Buzz' },
  { id: 3, name: 'FizzBuzz' },
];

const [, , { name }] = props;
console.log(name); // "FizzBuzz"
Nach dem Login kopieren

不完全解构

let obj = {p: [{y: 'world'}] };
let {p: [{ y }, x ] } = obj;//不解构x

// x = undefined
// y = 'world'
Nach dem Login kopieren

赋值剩余值给一个对象

let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
// a = 10
// b = 20
// rest = {c: 30, d: 40}
Nach dem Login kopieren

嵌套对象解构(可忽略解构)

let obj = {p: ['hello', {y: 'world'}] };
let {p: [x, { y }] } = obj;
// x = 'hello'
// y = 'world'
let obj = {p: ['hello', {y: 'world'}] };
let {p: [x, {  }] } = obj;//忽略y
// x = 'hello'
Nach dem Login kopieren

注意事项

小心使用已声明变量进行解构

错误示范:

let x;{x} = {x: 1};
Nach dem Login kopieren

JavaScript引擎会将{x} In der Vergangenheit haben wir beim Austauschen zweier Variablen immer

let x;({x} = {x: 1});
Nach dem Login kopieren
oder XOR

verwendet Zuweisung können wir zwei Variablenwerte in einem Destrukturierungsausdruck austauschen.

function add([x, y]) {
	return x + y;}add([1, 2]);
Nach dem Login kopieren

Die Destrukturierungsfunktion gibt das Array zurück.

Wir können eine Funktion, deren Rückgabewert ein Array ist, direkt destrukturieren Der Rückgabewert [10, 20] von **c()** kann in einer separaten Codezeile destrukturiert werden

Ignorieren Sie den Rückgabewert (oder überspringen Sie ein Element)

Sie können einige unerwünschte Rückgabewerte selektiv überspringen

let x = 1;
let y = 2;
[x, y] = [y, x];
Nach dem Login kopieren

Weisen Sie den verbleibenden Wert des Arrays einer Variablen zu.

Wenn Sie die Array-Destrukturierung verwenden, können Sie alle verbleibenden Teile des Zuweisungsarrays einer Variablen zuweisen.

// 返回一个数组function example() {
  return [1, 2, 3];}let [a, b, c] = example();
  // 返回一个对象
  function example() {
  return {
    foo: 1,
    bar: 2
  };
  }let { foo, bar } = example();
Nach dem Login kopieren
Nach dem Login kopieren

In diesem Fall wird b auch zu einem Array und Die Elemente im Array sind alle verbleibenden Elemente

Hinweis:

Seien Sie hier vorsichtig und die Endung lautet. Es können keine weiteren Kommas geschrieben werden. Wenn ein zusätzliches Komma vorhanden ist, wird ein Fehler gemeldet

let jsonData = {
  id: 42,
  status: "OK",
  data: [867, 5309]
};

let { id, status, data: number } = jsonData;

console.log(id, status, number);
// 42, "OK", [867, 5309]
Nach dem Login kopieren
Nach dem Login kopieren
🎜🎜Verschachtelte Array-Destrukturierung 🎜🎜🎜Arrays können wie Objekte auch verschachtelt dekonstruiert werden Objekt sind die Daten, die die Iterator-Schnittstelle implementieren code var {p: foo} = o ruft den Attributnamen p des Objekts o ab und weist ihn dann einem Wert namens foo zu. Die Variable 🎜🎜🎜destrukturiert den Standardwert🎜🎜🎜Wenn der Objektwert übernommen wird Wenn die Destrukturierung undefiniert ist, können wir den Standardwert 🎜rrreee🎜🎜festlegen, ihn dem neuen Objektnamen zuweisen und den Standardwert bereitstellen 🎜🎜🎜before Wie bereits erwähnt, weisen wir einem neuen Objekt einen Wert zu Objektname. Hier können wir einen Standardwert für diesen neuen Objektnamen angeben. Wenn er nicht destrukturiert wird, wird der Standardwert automatisch verwendet. Es können sowohl Array- als auch Objektdestrukturierung verwendet werden Zusammen verwendet🎜rrreee🎜🎜Unvollständige Destrukturierung🎜🎜rrreee🎜Zuweisen des verbleibenden Werts zu einem Objekt🎜rrreee🎜🎜Verschachtelte Objektdestrukturierung (Destrukturierung kann ignoriert werden)🎜🎜rrreee🎜Hinweise🎜🎜🎜Mit Vorsicht verwenden. Deklarieren Variablen zur Destrukturierung verwenden 🎜🎜🎜 🎜Fehlerbeispiel: 🎜🎜rrreee🎜Die JavaScript-Engine interpretiert {x} als Codeblock, was zu einem Syntaxfehler führt. Wir müssen das Schreiben von geschweiften Klammern am Anfang der Zeile vermeiden, um JavaScript zu vermeiden als Codeblock interpretieren 🎜🎜Richtiges Schreiben: 🎜🎜rrreee🎜Richtiges Schreiben: Setzen Sie die gesamte destrukturierende Zuweisungsanweisung in Klammern, und Sie können sie korrekt ausführen🎜🎜🎜Destrukturierende Zuweisung von Funktionsparametern🎜🎜🎜Funktionsparameter können auch sein Zuweisung durch Destrukturierung🎜rrreee🎜Im obigen Code ist der Parameter der Funktion add ein Array auf der Oberfläche, aber bei der Übergabe des Parameters wird der Array-Parameter in die Variablen x und y zerlegt. Für das Innere der Funktion ist dies der Fall das Gleiche wie die direkte Übergabe von x und y ist dasselbe🎜🎜Der Zweck der Destrukturierung🎜🎜Es gibt viele Verwendungsmöglichkeiten für die Destrukturierungszuweisung🎜🎜🎜Austauschen der Werte von Variablen🎜🎜rrreee🎜Der obige Code tauscht die Werte von aus x und y. Diese Schreibmethode ist nicht nur prägnant, sondern auch leicht zu lesen, die Semantik ist klar. 🎜🎜🎜Mehrere Werte von der Funktion zurückgeben. Die Funktion kann nur einen Wert zurückgeben, wenn wir mehrere Werte zurückgeben möchten Wir können diese Werte nur in ein Array oder Objekt einfügen und sie zurückgeben. Wenn wir die Destrukturierungszuweisung haben, ist das Abrufen dieser Werte von einem Objekt oder Array so, als würde man etwas aus einer Tasche holen 🎜
// 返回一个数组function example() {
  return [1, 2, 3];}let [a, b, c] = example();
  // 返回一个对象
  function example() {
  return {
    foo: 1,
    bar: 2
  };
  }let { foo, bar } = example();
Nach dem Login kopieren
Nach dem Login kopieren

提取JSON数据

解构赋值对于提取JSON对象中的数据,尤其有用

示例:

let jsonData = {
  id: 42,
  status: "OK",
  data: [867, 5309]
};

let { id, status, data: number } = jsonData;

console.log(id, status, number);
// 42, "OK", [867, 5309]
Nach dem Login kopieren
Nach dem Login kopieren

使用上面的代码,我们就可以快速取出JSON数据中的值

相关推荐:javascript教程

Das obige ist der detaillierte Inhalt vonMachen Sie sich mit der JavaScript-Destrukturierungsaufgabe vertraut. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

So verwenden Sie insertBefore in Javascript So verwenden Sie insertBefore in Javascript Nov 24, 2023 am 11:56 AM

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Bildverarbeitungssystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Bildverarbeitungssystems Dec 17, 2023 am 08:41 AM

JavaScript ist eine in der Webentwicklung weit verbreitete Programmiersprache, während WebSocket ein Netzwerkprotokoll für die Echtzeitkommunikation ist. Durch die Kombination der leistungsstarken Funktionen beider können wir ein effizientes Echtzeit-Bildverarbeitungssystem erstellen. In diesem Artikel wird erläutert, wie dieses System mithilfe von JavaScript und WebSocket implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die Anforderungen und Ziele des Echtzeit-Bildverarbeitungssystems klären. Angenommen, wir haben ein Kameragerät, das Bilddaten in Echtzeit sammeln kann

See all articles