Destrukcja w JavaScript
- Poprzednia strona Type conversion JS
- Następna strona Bitwise operations JS
Gramatyka destrukcji przypisania
Gramatyka destrukcji przypisuje atrybuty obiektu do zmiennych:
let {firstName, lastName} = person;
Może również rozpakować tablice i inne obiekty iterowalne:
let [firstName, lastName] = person;
Destrukcja obiektu
Przykład
// Utworzenie obiektu const person = { firstName: "Bill", lastName: "Gates", age: 50 }; // Desctructuring let {firstName, lastName} = person;
Kolejność atrybutów jest nieistotna:
Przykład
// Utworzenie obiektu const person = { firstName: "Bill", lastName: "Gates", age: 50 }; // Desctructuring let {lastName, firstName} = person;
Uwaga:
Destrukcja nie jest destrukcyjna.
Destrukcja nie zmienia oryginalnego obiektu.
Wartości domyślne obiektu
Dla właściwości mogących brakować, możemy ustawić wartości domyślne:
Przykład
// Utworzenie obiektu const person = { firstName: "Bill", lastName: "Gates", age: 50 }; // Desctructuring let {firstName, lastName, country = "US"} = person;
Alias atrybutów obiektu
Przykład
// Utworzenie obiektu const person = { firstName: "Bill", lastName: "Gates", age: 50 }; // Desctructuring let {lastName: name} = person;
Destrukcja ciągu znaków
Jednym z zastosowań destrukcji jest rozpakowanie znaków ciągu znaków.
Przykład
// Utworzenie ciągu znaków let name = "W3Schools"; // Desctructuring let [a1, a2, a3, a4, a5] = name;
Uwaga:
Destrukcja może być używana dla każdego obiektu iterowalnego.
Destrukcja tablicy
Możemy wyodrębnić zmienne tablicy do swoich zmiennych:
Przykład
// Creating an array const fruits = ["Bananas", "Oranges", "Apples", "Mangos"]; // Desctructuring let [fruit1, fruit2] = fruits;
Pomijanie wartości tablicy
Możemy używać dwóch lub więcej przecinków, aby pominąć wartości tablicy:
Przykład
// Creating an array const fruits = ["Bananas", "Oranges", "Apples", "Mangos"]; // Desctructuring let [fruit1,,,fruit2] = fruits;
Pozycje tablicy
Możemy wyodrębnić wartości z określonych pozycji w tablicy:
Przykład
// Creating an array const fruits = ["Bananas", "Oranges", "Apples", "Mangos"]; // Desctructuring let {[0]: fruit1, [1]: fruit2} = fruits;
Reszta atrybutów
Można używać reszty atrybutów na końcu destrukcji.
Ta składnia przechowa wszystkie pozostałe wartości w nowej tablicy:
Przykład
// Creating an array const numbers = [10, 20, 30, 40, 50, 60, 70]; // Desctructuring const [a, b, ...rest] = numbers;
Desctructuring Map
Przykład
// Creating a Map const fruits = new Map([ ["apples", 500], ["bananas", 300], ] // Desctructuring let text = ""; for (const [key, value] of fruits) { text += key + " is " + value; }
Zamiana zmiennych JavaScript
Można użyć destrukturyzacji przypisania do zamiany wartości dwóch zmiennych:
Przykład
let firstName = "Bill"; let lastName = "Gates"; // Desctructuring [firstName, lastName] = [lastName, firstName];
- Poprzednia strona Type conversion JS
- Następna strona Bitwise operations JS