ES6部分语法

结构赋值

按照一个数据值的结构,快速解析获取到其中到内容

  • 1、真实项目中一般都是针对于数组或者对象进行结构赋值
let ary = [12,23,34]
/*
let a = ary[0],
	b = ary[1],
	c = ary[2]
*/

let [a,b,c]=ary; 
//让等号左边出现和右边相同到数据结构,左边可以创建一些变量快速获取到右侧对应位置的值(结构赋值)
console.log(a,b,c)
let [a] = ary; // 12
let [, , c] = ary; //34
let [a, , c] = ary ; //12 34
//需求 :获取第一项,把剩下的项作为一个数组返回
let [a,...b]=ary
// a=12 b=[23,34]
// ... 在此处称为剩余运算符,:除了前面以外的项,都放在一个数组中
let [a,..b,c]=ary
//报错 剩余运算符处于结构中最后的位置

let ary = [12];
let [a,b=0] = ary;
// 在结构的时候可以给变量设置默认值;如果当前变量对应结构总的这一项没有值,变量用默认值
console.log(a,b) // 12 0
  • 2、对象的结构赋值
let obj ={name:"xiaoming",age:18,sex:0}
let {name,age,sex}=obj  //对象结构赋值默认情况下要求:左侧变量名和对象中的属性名一致才可以
// "xiaoming" 18 0
let {sex} = ary;
// 0
let {age:ageAA} = obj;
congsole.log(age) //报错 
console.log(ageAA) //18 给结构的属性名起别名作为我们使用的变量

let {friedn = 0} = obj
console.log{friend} //0 给不存在的属性设置默认值

let value = {name:"xxx",age:25,score:[12,23,34,45]}
// 需求 a="xxx" b=12 c=[23,34,45]
let {name:a,score:[b,...c]} = value
console.log(a,b,c) //a="xxx" b=12 c=[23,34,45]

在ES6语法中,三个点有三种含义
1、剩余运算符
2、拓展运算符
2、展开运算符:把数组/对象/类数组中的每一项展开

//剩余运算符
let ary = [12,23,34]
let [...arg] = ary // ary.slice(0)  数组克隆

function fn(context,...arg){
	// 获取传递值中的第一个和剩下的
	// argument  是类数组 不能直接调用数组方法
 	console.log(context)  // obj
	console.log(...arg)  // 10,20,30,40
}
let obj={}
fn(obj,10,20,30,40);

function sum (...arg){
	// 传递几个石蚕,arg中就有几个,此时的arg和argument是一样的
}

//展开运算符
let ary = [12,23,34]
Math.max(...ary)
// 相当于 Math.max(12,23,34)
// 34
let fn = function(a,b,c){
	console.log(a,b,c)
}
fn(ary) // a:ary b c undefined
fn(...ary) // a:12 b:23, c:34
//把数组中的每一项分别传递给一个函数,此时我们是用展开运算符把数组展开即可

let obj = {name:"xxx",age:10}
let newObj = {...obj,sex:0}
//{name:"xxx",age:10,sex:0} 把原有对象展开(克隆)放到新对象中
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值