javascript ES6 - Деструктивноеприсваивание

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript ES6 - Деструктивноеприсваивание相关的知识,希望对你有一定的参考价值。

/*==================================================
=            Деструктивное присваивание            =
==================================================*/

{
	let myArr = [1, 2, 3];
	let a, b, c;
	[a, b, c] = myArr;

	//Или еще более короткий
	
	let [a, b, c] = [1, 2, 3];
}

//Игнорирование значений

{
	let [a, , b] = [1, 2, 3];
	console.log(a, b); //Выведет 1, 3

	let [a, , , ...b] = [1,2,3,4,5,6];
	console.log(a); // 1
	console.log(b); //4,5,6
}

// Использоавние оператора расширения в деструктивном присваивании массивов

let [a, ...b] = [1, 2, 3, 4, 5, 6];
console.log(a); //Выведет 1
console.log(Array.isArray(b)); //Выведет true
console.log(b); //Выведет 2,3,4,5,6

// Значения по умолчанию для переменных

let [a, b, c = 3] = [1, 2];
console.log(c); //Выведет 3

// Деструктивное присваивание вложенных массивов

let [a, b, [c, d]] = [1, 2, [3, 4]];

// Использование деструктивного присваивания как параметра

{
	let myFunc_1([a, b, c = 3]) {
		console.log(a,b,c); // Выведет "1 2 3"
	}
	myFunc_1([1, 2]);

	//Выведет значение по умолчанию
	
	let myFunc_2([a, b, c = 3] = [1, 2, 3]) {
		console.log(a, b, c); //Выведет "1 2 3"
	}
	myFunc_2(undefined);
}

// Деструктивное присваивание объектов

// Было

{
	let obj = {"name" : "John", "age" : 23};
	let name = obj.name;
	let age = obj.age;
}

// Стало
// Имена переменных должны совпадать с именами свойств
{
	let obj = {"name" : "John", "age" : 23};
	let name, age;
	({name, age} = obj);
}
// Если требуются другие переменные
{
	let obj = {"name" : "John", "age" : 23};
	let x, y;
	({name:x, age:y} = obj);
	// или если короче
	let {name:x, age:y} = {"name":"John", "age":23};
}

// Значеиня по умолчанию для переменных

{
	let {a, b, c = 3} = {a:1, b:2};
	console.log(c); //Выведет 3
}

// Вычисляемые имена свойств в деструктивном присваивании

{
	let {["first" + "Name"] : x} = {firstName : "Eden"};
	consoe.log(x); //Выведет Eden
}

// Деструктивное присваивание вложенных объектов

{
	let {name, otherInfo: {age}} = {name: "Eden", otherInfo: {age: 23}};
	console.log(name, age); //Eden 23
}

// Использование деструктивного присваивания объекта как параметра

{
	let myFunc_1({name = "Eden", age = 23, profession = "Designer"} = {}) {
		console.log(name, age, professtion); //Выведет John 23 Designer
	}
	myFunc_1({name: "John", age: 23});
}


/*=====  End of Деструктивное присваивание  ======*/

以上是关于javascript ES6 - Деструктивноеприсваивание的主要内容,如果未能解决你的问题,请参考以下文章

javascript Диструктурируемвдочернийэлемент

javascript Aвтоматическивыбираетпервуюопциюконфигураблпродукта,будутсразувидныопциивторогоселекта。自动

sh Сделатьэкспорт(аляsvnexport)веткимастервдругуюпапку:

html Отступдляпереносанавторуюстрокудляdivкакуli

javascript Растояниемеждупоследнейстрокойиконцомблока

sh Добавитьдоступпоключуксерверу