es6学习笔记1

函数--箭头函数
 
普通函数
function 名字(){

}
 就可以写成这个亚子
()=>{}

1、如果只有一个参数,()可以省
2、如果只有一个return,{}可以省
 
举栗
let fn = function ( a ) {
return a * 2
}
//可以写成
let fn = a => a * 2

函数--参数

1、收集剩余的参数
function fn( a, b, ...args ){
*剩余参数位置必须是最后一个
}
举栗
function fn(a, b, ...args) {
console.log(args.length); // 3
console.log(arguments.length); // 5
}
fn(1, 2, 3, 4, 5)

2、展开数组
...arr ==> 1,2,3
*展开后的效果,和直接把数组的内容写这儿一样 

举栗
let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let arr = [...arr1, ...arr2]
console.log(arr); //[1, 2, 3, 4, 5, 6]

 最大值
let arr = [1, 2, 3];
console.log(Math.max(...arr)); // 3
等价于
let arr = [1, 2, 3];
console.log(Math.max(1, 2, 3)); // 3

 合并数组
let arr1 = ['a', 'b'];
let arr2 = [1, 2];
arr2.push(...arr1);
或者
let arr1 = ['a', 'b'];
let arr2 = [1, 2, ...arr1];

 复制数组
let arr1 = ['a', 'b'];
let arr2 = [...arr1];

 将字符串转化成数组
let str = "hello";
let arr = [...str];
console.log(arr); // ["h", "e", "l", "l", "o"]

 3、默认参数
*不传则为默认,传了就覆盖默认

举栗
function show(a, b = 1, c = 2) {
console.log(a, b, c)
}
show(5) //5 1 2
show(6, 9) //6 9 2

 解构赋值

1、左右两边结构必须一样
2、右边必须是个合法的东西
3、声明和赋值不能分开(必须在一句话内完成)

栗子
let [a,b,c]=[12,5,8];
let {a,b,c}={a: 12, b: 5, c: 8};
 
let [{a, b}, [n1, n2, n3], num, str] = [{a: 12, b: 5}, [12,5,8], 8, 'cxzcv'];
console.log(a,b,n1,n2,n3,num,str);
2.png


也可以自己定义拆分的粒度
let [json, arr, num, str]=[{a: 12, b: 5}, [12,5,8], 8, 'cxzcv'];
console.log(json,arr,num,str);
1.png

 

0 个评论

要回复文章请先登录注册