es6解构赋值

<!DOCTYPE html>
<html>
<head>
  <title>es6--解构赋值</title>
</head>
<body>
  <script type="text/javascript">
	// let imageUrl='<img src="http://abc.com/jd.png"/>'.match(/src=['"]?([^'"]*)['"]?/i);
	// let ii = 'https://abc.com/shop/item/123456477.sc'.match(/https:\/\/[^/]*\/shop\/item\/(\d{8,11}).sc/);
	// console.log(imageUrl);
	// console.log(ii);

	//对象解构
	let jiegou = {
		a: "a1",
		b: "b2",
		c: "c3",
		d: "d4"
	}

	const {a,c,d} = jiegou;
	console.log("a:",a,"c",c,"d",d); //a: a1 c c3 d d4

	//对象解构不能按顺序走
	const {e,f,g} = jiegou;
	console.log("e",e,"f",f,"g",g); //e undefined f undefined g undefined

	//对象解构
	const person = {
	  name: 'namemem',
	  age: 18,
	  sex: '男'
	}
	//以前写法
	// let age = person.age;
	// let name = person.name;
	// let sex = person.sex;

	//解构写法
	let { name,age,sex } = person;

	//数组解构
	let nbaStars=['yaoming','kobe','james','paul']
	let [chinaStar,...usaStar] = nbaStars
	let [,,,myidol] = nbaStars
	console.log("usaStar:",usaStar,"chinaStar:",chinaStar,"myidol:",myidol)  //usaStar: (3) ["kobe", "james", "paul"] chinaStar: yaoming myidol: paul

	//数组解构可按顺序解构,解构变量名与变量不用一致
	// let [a, b] = [1,3,4,5,6] 
	// console.log(a)  // 1
	// console.log(b)  // 3

	//数组解构的另一个用处,交换变量值 
	var list = [ 'aa1', 'bb2', 'cc3' ];
	var [ aa, , cc ] = list;
	[ cc, aa ] = [ aa, cc ]; 
	console.log("aa",aa,"cc",cc); //aa cc3 cc aa1

	//数据解构与对象解构结合使用
	const rocketsTeam = {
    name:'rockets',
    players:[
      {
         name:'james harden',
         age: 18,
         role: 'sg'
      },
      {
         name:'yao ming',
         age: 12,
         role: 'c'
      }
    ],
    city:'houston'
}

//取出姚明的角色
let {players:[,{role:playerRole}]} = rocketsTeam;
console.log("姚明角色",playerRole) //姚明角色 c

  </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值