ES6的解构赋值的示例分析
这篇文章主要介绍ES6的解构赋值的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1 什么是解构赋值
解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。这种赋值语法极度简洁,同时还比传统的属性访问方法更为清晰。解构会仅提取出一个大对象中的部分成员来单独使用。
如下是传统的:
var y=data[0]
var m=data[1]
var d=data[2]
但在ES6中可以简写为:
var [y,m,d]=date;
2 数组与对象的解构
数组解构赋值语法的一般形式为:
[ variable1, variable2, ..., variableN ] = array;
这将为variable1到variableN的变量赋予数组中相应元素项的值。如果你想在赋值的同时声明变量,可在赋值语句前加入var、let或const关键字
对象的解构类似,如下所示:
var user={
uid:1001,
uname:"dingding",
set:1,
signin:function(){
console.log("登录...");
},
signout:function(){
console.log("注销...");
},
signup:function(){
console.log("注册...");
}
}
//var {uid:uid,signup:signup}=user;//简写如下
var {uid,signup}=user;
console.log(uid);
signup();
对象解构的一个特殊用法是参数结构,在向函数中传参时,将一个大的对象,打散后,传递给对应的形参变量,有效解决了传参时有多个形参不确定但又要求按顺序传入的需求
//1. 定义形参列表时,就用对象结构定义
function ajax({
//与顺序无关
url,
type,
data,//不确定
dataType,//不确定
}){
console.log(`向${url}发送${type}请求`);
if(data!=undefined&&type=="get"){
console.log(`在url结尾拼接参数?${data}`)
}
if(data!=undefined&&type=="post"){
console.log(`xhr.send(${data})`);
}
if(dataType=="json"){
console.log(`JSON.parse(返回结果)`);
}
}
//2. 调用函数传参时,所有实参值,都要放在一个对象结构中整体传入。
ajax({
url:"http://localhost:3000/products/getProductsByKwords",
type:"get",
data:"kw=macbook i5",
dataType:"json"
});
使用解构很方便,但它强调对应关系,数组解构:下标对下标,对象解构:属性对属性,但允许元素或者参数为空,例如下面三种写法:
var [y,,]=date;
var [y,,d]=date;
var [,m,]=date;
虽然有不同位置的元素为空,但是依然可以正常执行赋值操作,不过和传统方法一样,为空的在用时会按undefined处理。
以上是“ES6的解构赋值的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341