解构赋值?

定义:解构赋值是一种快速为变量赋值的简洁语法,本质上仍然是为变量赋值,分为数组解构、对象解构两大类型。    

	let arr = ['张飞', '关羽', '赵云', '马超', '张辽', '吕布'];

		let [a,b,c,d,e,f] = ['张飞', '关羽', '赵云', '马超', '张辽', '吕布'];

		console.log( a,b,c,d,e,f );

  1、数组解构赋值:一 一对应

        // 变量名和值相同
        // let [a, b, c, d, e, f] = ['张飞', '关羽', '赵云', '马超', '张辽', '吕布'];
        // console.log( a, b, c, d, e, f );


        // 变量少值多
        // let [a, b, c] = ['张飞', '关羽', '赵云', '马超', '张辽', '吕布'];
        // console.log(a, b, c);


        // 变量多值少
        // let [a, b, c, d, e, f, g, h, i] = ['张飞', '关羽', '赵云', '马超', '张辽', '吕                
           布'];
        // console.log(a, b, c, d, e, f, g, h, i);


        // 按需取值
        // let [, a, , b, , c] = ['张飞', '关羽', '赵云', '马超', '张辽', '吕布'];
        // // abc
        // console.log(a, b, c);


        // 剩余值取法
        // let [a, b, ...c] = ['张飞', '关羽', '赵云', '马超', '张辽', '吕布'];
        // console.log(a, b, c);


        // 多维解构:
        let [, a, , [, b, c]] = ['张飞', '关羽', '赵云', ['武松', '鲁智深', '林冲']]
        // abc
        console.log(a, b, c);

 2、对象解构:把属性名当做变量

	// let { index, height, age, uname } = {
			// 	uname : '张三丰',
			// 	age : 22,
			// 	sex : '男',
			// 	index : 6,
			// 	score : 99,
			// 	height : '188CM',
			// 	width : '90KG'
			// }


			// console.log( index, height, age, uname );


			let { dog : {uname, age} } = {
				uname : '张三丰',
				age : 22,
				sex : '男',
				index : 6,
				score : 99,
				dog : {
					uname : '大黄',
					age : 1,
				},
				cat : {
					uname : '大橘',
					age : 2
				}
			}
			
			console.log( uname, age );
			


			// let uname = '哇哈哈';

			// // 如果已经存在某个变量名,用冒号改名字
			// let {uname:userName, ...index} = {
			// 	uname : '张三丰',
			// 	age : 22,
			// 	sex : '男',
			// 	index : 6,
			// 	score : 99,
			// 	height : '188CM',
			// 	width : '90KG'
			// }

			// console.log( userName, index );


			// let obj = {
			// 	uname : '张三丰',
			// 	age : 22,
			// 	sex : '男',
			// 	index : 6,
			// 	score : 99,
			// 	height : '188CM',
			// 	width : '90KG'
			// }


			// let uname = obj.uname;
			// let age = obj.age;
			// let sex = obj.sex;

			// console.log( uname, age, sex );

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解构赋值是一种从数组或对象中提取数据并赋值给变量的方式。它可以让我们更方便地提取和使用数组或对象中的数据,而不需要通过索引或属性名一个一个地访问和赋值。 在 JavaScript 中,解构赋值有两种常见的形式:数组解构赋值和对象解构赋值。数组解构赋值将数组中的元素按照顺序赋值给变量,而对象解构赋值则是通过对象的属性名来进行匹配和赋值。 对象解构赋值的语法如下: ``` const {prop1, prop2, ...rest} = object; ``` 其中,`object` 是要解构的对象,`prop1` 和 `prop2` 是要提取的属性名,`rest` 则是一个包含剩余属性的对象。如果要给属性设置默认值,可以使用如下语法: ``` const {prop1 = defaultValue1, prop2 = defaultValue2, ...rest} = object; ``` 我们可以通过对象解构赋值来提取对象中的某些属性,并将它们赋值给变量,例如: ``` const person = { name: "张三", age: 20, gender: "男" }; const { name, age, gender } = person; console.log(name, age, gender); // 输出:张三 20 男 ``` 上面的代码中,我们从 `person` 对象中提取了 `name`、`age` 和 `gender` 三个属性,并将它们分别赋值给了 `name`、`age` 和 `gender` 变量。 如果我们只需要提取对象中的某个属性,可以使用如下语法: ``` const person = { name: "张三", age: 20, gender: "男" }; const { name } = person; console.log(name); // 输出:张三 ``` 这样就可以只提取 `name` 属性并赋值给 `name` 变量了。 另外,我们还可以使用对象解构赋值来给属性设置默认值,例如: ``` const person = { name: "张三", age: 20 }; const { name, age, gender = "男" } = person; console.log(name, age, gender); // 输出:张三 20 男 ``` 这样,如果 `person` 对象中没有 `gender` 属性,就会使用默认值 `"男"`。 对象解构赋值在实际开发中非常常用,可以让我们更方便地处理对象中的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值