Node.js NodeJS中的正则函数和箭头函数有什么区别?
我通过视频教程学习NodeJS。我不知道箭头点函数。正则函数和箭头函数的主要区别是什么?Node.js NodeJS中的正则函数和箭头函数有什么区别?,node.js,arrow-functions,Node.js,Arrow Functions,我通过视频教程学习NodeJS。我不知道箭头点函数。正则函数和箭头函数的主要区别是什么? 词法和参数 箭头函数没有自己的此或 参数绑定。相反,这些标识符像其他变量一样在词法范围内解析。这意味着在arrow函数中,this和arguments指的是arrow函数定义环境中this和arguments的值 不能使用new调用箭头函数 ES2015区分了可调用函数和可调用函数 可构造的。如果函数是可构造的,则可以使用new调用它,即new User()。如果一个函数是可调用的,则可以不使用 新建(即
箭头函数是ES6中介绍的一种更简洁的函数编写方法。 箭头函数是匿名函数,这意味着您无法命名它 例1:
var addRegular = function(x, y) { return x + y };
var addArrow = (x, y) => x + y;
箭头函数不绑定到this,它们不创建自己的this,因此使用了封闭this
例2:
//1. regular function, creates own scope
function Counter() {
//set count to 0
this.count = 0;
var setOne = function () {
this.count = 1;
};
setOne();
}
var c = new Counter();
console.log(c.count);// outer count will stay unchanged.
//2. arrow function, uses outer this
function Counter() {
this.count = 0;
var setTwo = () => {this.count = 2};
setTwo();
}
var c = new Counter();
console.log(c.count);//will be equal 2.
箭头函数有一个隐式返回值,这意味着不需要写返回,这使得这些函数成为一行,如上面的示例所示