本文共 884 字,大约阅读时间需要 2 分钟。
ES6 支持参数默认值
- 之前通常用
||
运算符设置默认参数:b = b || 默认值;
- ES6 可以直接设定函数参数默认值:
function show(a=2,b=3){ //TODO}复制代码
function show({a=2,b=3}={}){ //TODO}复制代码
- 函数的参数在函数体内重新定义会报错;因为参数已经被定义了
function (a = 12) { let a = 8; //报错,重复定义}复制代码
扩展运算符/rest运算符/三个点
- 展开数组:
let a = ['apple','banana','orange'];console.log(...a); //apple, banana, orange复制代码
- 数组参数展开:
function show(a,b,c){ //TODO}show(...[1,2,3]);复制代码
- 参数组成数组:(ES6之前常用
Array.prototype.slice.call(arguments)
function show(...args){ //TODO}show(1,2,3);复制代码
- 剩余参数运算符:
function show(a,b,...c){ //TODO}show(1,2,3,4,5); //3,4,5会以数组的形式传入c中复制代码
- 数组复制:
let arr = [1,2,3];let arr2 = [...arr];let arr3 = Array.from(arr);复制代码
箭头函数 =>
- 左边参数,右边语句和返回值
- 最简单的形式:
let show = ()=>1; //返回1
- 带参数的形式:
let show = (a,b)=>a+b; //返回a+b的值
- 带语句的形式:
let show = (a,b)=>{//TODO};
- 需要注意的问题:
- 解决了this指向的问题:箭头函数中this指向定义时所在的对象,而不是执行时所在的对象;
- 箭头函数中没有
arguments
;可以用...args
来解决; - 箭头函数不能用于构造函数;
转载地址:http://mcyla.baihongyu.com/