es6语法学习
题外话:很久没有更新了,这几天学习react.js的时候学习了一些新的东西,记录下。
1、解构赋值
字面上的意思:要根据对象的结构进行一一对应的赋值。
(1)、普通变量
//ES5
let a = 1, b = 2;
//(ES6)
let [a, b] = [1,2];
位置一一对应,就可以赋值了。
(2)、数组
let a = [1,2,3];
(ES5)
let num = a[2];
console.log( num);
// 3let [a,b,c] = [1,2,3];
(ES6)
console.log(b);
//2
嵌套数组解构
let a = [1,2, [3,4],5];
let num = a[2][0];
// 3let [a, b,[c,d],e] =[1,2, [3,4], 5] ;
console.log(b, c) // 2, 3
解构赋值的话如果解构不成功,变量的值就等于undefined。
let [a, b] = [1];
console.log(b) // undefined
默认值
有默认值,且没有值的,取默认值;
有值的取自身的值,不取默认值
let[a,b,c,d=4] = [1,2,3];
console.log(d);
//4let[a,b,c,d=4] = [1,2,3,5];
console.log(d);
//5
对象析构
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
let obj = { name: 'xxx',age: 18};
console.log(obj.name);
//'xxx'let obj = {name:"xxx",age:"18"}
let { name: name, age: age} = obj;
console.log( name);
//'xxx'
如果解构失败,变量的值等于undefined。
let {foo} = {bar: 'baz'};
foo // undefined
字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。
// ES5:
var res = "你好呀";
console.log(res[2]);
//呀//ES6
let[a,b,c] = "你好呀";
console.log(b);
//好
函数参数解构
function show({name,age}){
//以前
// var name = obj.name;
//现在
console.log(name);
//李四
console.log(name,age);
//李四,18
}
let obj = {
name:"李四",
age:"18"
}
show(obj);
未完待续......
【es6语法学习】参考资料: https://zhuanlan.zhihu.com/p/...
推荐阅读
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- (二)ES6第一节变量(let|(二)ES6第一节变量(let,const)
- 六步搭建ES6语法环境
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期