ES6
1、模板字符串
传统拼接字符串
let a = "姓名:"+person.name+",哈哈哈!!!";
ES6
let a = `姓名:${person.name},哈哈哈!!!`;
2、默认参数
函数参数声明后,默认类型为
undefined
,
可以指定默认参数,这样可以在函数调用时,少传参数
funcation sum(a=100,b=100){
return a+b;
}
let r = sum(200);
输出r: 300
3、箭头函数
- 传统创建函数
funciton sum(a,b){
return a+b;
}
- 箭头函数
// 函数体复杂
var sum = (a,b) => {
var num = a;
return a+b;
}
// 函数体只有return
var sum = (a,b) =>a+b;
备注:
1、箭头函数就是去掉了function
,换成了=>
2、如果函数体只是return,则可以将return语句 直接写在箭头后面
3、如果函数参数只有一个,可以省略参数的括号,多个则不行
4、对象简写
因为对象是key:value形式存在的,
如果key和变量的名字一样,则只写一次就行
如果是函数,则不用写function
关键字
比如
let params = {code:code,name:name,
function test{
}
}
可简写为:
let params = {code,name,
test{
}
}
5、对象解构
可以快速获取对象的属性
不使用 info.name或info[name]的方式
1)、定义对象
let info = {name:"aaa",sex:"男",phone:13456}
2)、解构
// 将info的name和sex取处理,赋值给变量name,sex
let {name,sex} = info;
6、对象传播
将对象中属性赋值给变量,并将剩余属性赋值给新对象
1)、定义对象
let info = {name:"aaa",sex:"男",phone:13456}
2)、传播示例
// 将info的name和sex,赋值给变量name,sex
// 将剩余属性赋值给info2,即:info2只有phone属性
let {name,sex,...info2} = info;
7、map
map类似for循环,可以循环处理数组,并将处理结果回填到对应的位置
let arr = [1,2,3]
arr.map(function(ele){
});
8、reduce
- 第一个参数,是上一次reduce的结果
- 第二个参数,是数据组要处理的下一个元素
reduce会把数组中的元素依次做reduce处理,并把处理结果作为下一次reduce的第一个参数,如果是第一次会拿取两个参数,或者用户指定的初始值作为参数
let arr = [1,2,3]
arr.reduce(function(a,b){
return a+b;
});