js中箭头函数的详细讲解
(param1, param2, …, paramN) => { statements }
其中,param1, param2, …, paramN
是函数的参数,statements
是函数体。
箭头函数的特点
箭头函数有以下几个特点:
- 箭头函数没有自己的this,它的this是继承自父级作用域的this;
- 箭头函数没有arguments对象,可以使用rest参数代替;
- 箭头函数不能作为构造函数使用,不能使用new关键字调用;
- 箭头函数没有prototype属性。
箭头函数的使用
箭头函数可以用来替代普通函数,例如:
// 普通函数
function add(x, y) {
return x + y;
}
// 箭头函数
const add = (x, y) => x + y;
箭头函数还可以用来简化回调函数的写法,例如:
// 普通函数
arr.map(function(item) {
return item.toUpperCase();
});
// 箭头函数
arr.map(item => item.toUpperCase());
箭头函数的注意事项
由于箭头函数没有自己的this,所以在使用箭头函数时需要注意以下几点:
- 箭头函数不能用作对象的方法,因为它的this是继承自父级作用域的this,而不是对象本身;
- 箭头函数不能用作事件处理函数,因为它的this是继承自父级作用域的this,而不是事件的目标对象;
- 箭头函数不能用作构造函数,因为它没有自己的this,也没有prototype属性。
总结
箭头函数是ES6中新增的一种函数形式,它可以更简洁地定义函数。箭头函数没有自己的this,它的this是继承自父级作用域的this;箭头函数没有arguments对象,可以使用rest参数代替;箭头函数不能作为构造函数使用,不能使用new关键字调用;箭头函数没有prototype属性。在使用箭头函数时需要注意它的this指向。
-->什么是箭头函数
箭头函数是ES6中新增的一种函数形式,它可以更简洁地定义函数。箭头函数的语法如下:
(param1, param2, …, paramN) => { statements }
其中,param1, param2, …, paramN
是函数的参数,statements
是函数体。
箭头函数的特点
箭头函数有以下几个特点:
- 箭头函数没有自己的this,它的this是继承自父级作用域的this;
- 箭头函数没有arguments对象,可以使用rest参数代替;
- 箭头函数不能作为构造函数使用,不能使用new关键字调用;
- 箭头函数没有prototype属性。
箭头函数的使用
箭头函数可以用来替代普通函数,例如:
// 普通函数
function add(x, y) {
return x + y;
}
// 箭头函数
const add = (x, y) => x + y;
箭头函数还可以用来简化回调函数的写法,例如:
// 普通函数
arr.map(function(item) {
return item.toUpperCase();
});
// 箭头函数
arr.map(item => item.toUpperCase());
箭头函数的注意事项
由于箭头函数没有自己的this,所以在使用箭头函数时需要注意以下几点:
- 箭头函数不能用作对象的方法,因为它的this是继承自父级作用域的this,而不是对象本身;
- 箭头函数不能用作事件处理函数,因为它的this是继承自父级作用域的this,而不是事件的目标对象;
- 箭头函数不能用作构造函数,因为它没有自己的this,也没有prototype属性。
总结
箭头函数是ES6中新增的一种函数形式,它可以更简洁地定义函数。箭头函数没有自己的this,它的this是继承自父级作用域的this;箭头函数没有arguments对象,可以使用rest参数代替;箭头函数不能作为构造函数使用,不能使用new关键字调用;箭头函数没有prototype属性。在使用箭头函数时需要注意它的this指向。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。