JavaScript: Деструктуризация объектов и массивов
Деструктуризация (destructuring assignment) – метод присваивания, при котором можно присвоить массив или объект сразу нескольким переменным, разбив его на части.
Объект
// let {prop : varName = default, ...} = object let boeing = { name: 'Boeing 777', type: 'Пассажирский самолёт', manufacturer: 'Boeing Commercial Airplanes', firstFlight: '12 июня 1994 года', operators: { 'Emirates' : 158, 'United Airlines' : 96, 'Air France' : 64, 'Cathay Pacific' : 61 }, }; let {operators} = boeing; // фигурные скобки console.log( operators ); // {Emirates: 158, United Airlines: 96, Air France: 64, Cathay Pacific: 61} let {name, ...props} = boeing; console.log( name ); console.log( props );
Массив
// let [var1 = default, var2, ...rest] = array let {firstFlight} = boeing firstFlight = firstFlight.split(' '); console.log( firstFlight ); // ['12', 'июня', '1994', 'года'] let [day, month, year, ...rest] = firstFlight; // квадратные скобки console.log( day ); // 12 console.log( month ); // июня console.log( year ); // 1944 console.log( rest ); // ['года'] let [, , Y ] = firstFlight; // выбираем только 1 значение console.log( Y ); // 1944 function getPlanet() { return 'планета Земля'; } let [ , , y, , epoch = 'После РХ', planet = getPlanet() ] = firstFlight; // значения по умолчанию console.log( y, epoch, planet ); // 1994 После РХ планета Земля
Комментарии