解构赋值?

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

	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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值