Деструктуризация
Название полей --> название переменных
const person = {
name: 'Jack',
lastName: 'Jackson',
age: 35,
city: 'New York, USA',
isComputerUser: true,
height: 183,
};
const { name, lastName, age, city, isComputerUser } = person;
name; //'Jack'
lastName; // 'Jackson'
age; // 35
city; // 'New York, USA'
isComputerUser; // true
// создание изменяемой локальной переменной
let { height } = person;
height; // 183
height = 185;
height; // 185 --> изменилось значение локальной переменной
person.height; // 183 --> в исходном объекте значение поля не изменилось
Деструктуризация с присвоением
const person = {
name: 'Jack',
lastName: 'Jackson',
age: 35,
city: 'New York, USA',
isComputerUser: true,
height: undefined, // или отсутствие этого поля, с null работать не будет
};
// Если такого поля нет, то будет undefined
const { height } = person;
height; // undefined
// Если такого поля нет, то можно будет присвоить значение по умолчанию
const { height = 'Unknown' } = person;
height; // 'Unknown'