五、ES6中函数的扩展
函数参数的默认值
1 | function fn(arg = 0) { |
与解构赋值配合使用
1 | function fn([a, b = 0]) { |
函数参数的作用域
1 | let v = 100; |
rest参数
1 | function fn(a, b, ...args) { |
rest参数会将多余的参数放入到一个数组。
- rest参数只能放在最后。
- 函数的length属性不包含rest参数
箭头函数
基本语法
1 | let fn1 = () => 2; |
在ES5中,this
取决于当前调用环境的上下文对象。而在ES6中,this
取决于定义时的上下文对象。
注意事项
不能作为构造函数
1
2
3
4
5
6// 1. 不能作为构造函数
var fn = () => {
this.name = "张无忌";
};
var f = new fn();
console.log(f);可以作为对象的方法出现
1
2
3
4
5
6
7let obj = {
name: "张无忌",
sayMe: () => {
console.log("我是张无忌");
},
};
obj.sayMe(); // 我是张无忌箭头函数中不能使用
arguments
参数,需要使用rest参数代替1
2
3
4var fn = (...args) => {
console.log(args);
};
fn(1, 2, 3); //[ 1, 2, 3 ]
尾调用
1 | function g(x) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooWaline