JavaScript Yapısal Dönüşüm

Ayırma atama grameri

Ayırma atama grameri, nesne özelliklerini değişkenlere ayırır:

let {firstName, lastName} = person;

Ayrıca dizileri ve diğer herhangi bir iteralabilir nesneyi açabilir:

let [firstName, lastName] = person;

Nesne ayırma

Örnek

// Bir nesne oluşturma
const person = {
  firstName: "Bill",
  lastName: "Gates",
  yaş: 50
};
// Ayrıştırma
let {firstName, lastName} = person;

Kişisel olarak deneyin

Özellik sırası önemlidir:

Örnek

// Bir nesne oluşturma
const person = {
  firstName: "Bill",
  lastName: "Gates",
  yaş: 50
};
// Ayrıştırma
let {lastName, firstName} = person;

Kişisel olarak deneyin

Dikkat:

Ayırma, yıkıcı değildir.

Ayırma, orijinal nesneyi değiştirmez.

Nesne varsayılan değerleri

Eksik olabilecek özellikler için varsayılan değerler ayarlayabiliriz:

Örnek

// Bir nesne oluşturma
const person = {
  firstName: "Bill",
  lastName: "Gates",
  yaş: 50
};
// Ayrıştırma
let {firstName, lastName, country = "US"} = person;

Kişisel olarak deneyin

Nesne özellik adlandırma

Örnek

// Bir nesne oluşturma
const person = {
  firstName: "Bill",
  lastName: "Gates",
  yaş: 50
};
// Ayrıştırma
let {lastName: isim} = person;

Kişisel olarak deneyin

Dizi ayırma

Ayırmanın bir kullanımı, dizi karakterlerini açmaktır.

Örnek

// Bir dizi oluşturma
let isim = "W3Schools";
// Ayrıştırma
let [a1, a2, a3, a4, a5] = isim;

Kişisel olarak deneyin

Dikkat:

Ayırma, herhangi bir iteralabilir nesne için kullanılabilir.

Dizi ayırma

Dizi değişkenlerini kendi değişkenlerine ayırabiliriz:

Örnek

// Bir dizi oluşturma
const meyveler = ["Muzlar", "Narlar", "Elma", "Mango"];
// Ayrıştırma
let [meyve1, meyve2] = meyveler;

Kişisel olarak deneyin

Dizin değerlerini atlamak

İki veya daha fazla virgülle dizin değerlerini atlayabiliriz:

Örnek

// Bir dizi oluşturma
const meyveler = ["Muzlar", "Narlar", "Elma", "Mango"];
// Ayrıştırma
let [meyve1,,,,meyve2] = meyveler;

Kişisel olarak deneyin

Dizin konum değerleri

Ayrı bir dizin konum değerlerini alabiliriz:

Örnek

// Bir dizi oluşturma
const meyveler = ["Muzlar", "Narlar", "Elma", "Mango"];
// Ayrıştırma
let {[0]: meyve1, [1]: meyve2} = meyveler;

Kişisel olarak deneyin

剩余属性

解构语法末尾可以使用剩余属性。

Bu dilim, tüm kalan değerleri yeni bir diziye saklar:}}

Örnek

// Bir dizi oluşturma
const numbers = [10, 20, 30, 40, 50, 60, 70];
// Ayrıştırma
const [a, b, ...rest] = numbers;

Kişisel olarak deneyin

Map ayırma

Örnek

// Bir Map oluşturma
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);
// Ayrıştırma
let text = "";
for (const [key, value] of fruits) {
  text += key + " is " + value;
}

Kişisel olarak deneyin

JavaScript değişkenlerini değiştirme

Değişkenlerin değerlerini değiştirebilirsiniz:

Örnek

let firstName = "Bill";
let lastName = "Gates";
// Ayrıştırma
[firstName, lastName] = [lastName, firstName];

Kişisel olarak deneyin