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 После РХ планета Земля


JavaScript просмотров: 137