nodejs 箭头函数
背景
箭头函数,出现于ES6规范中。
使用
就是lambda函数。
一般使用:
(a, b) => { return a + b; }
简略模式:
当参数只有一个时,可以省略括号;当返回值只有一个表达式时,可以省略花括号和return,但如果返回的是对象字面量{a:3},则需要花括号和return语句。
a => a + b;
属性匹配:
这是一个特点,能匹配对象里的属性,如果不存在,为undefined。
({a, b}) => console.log(a, b);
//相当于
function(o) {
console.log(o.a, o.b);
}
this
箭头函数的this跟function不一样,用的时候千万小心。
对于function:
-
function的this指向调用者本身!
-
如果function是直接调用而不是作为方法调用:非严格模式指向global;严格模式指向undefined。
对于箭头函数:
-
this指向函数定义时的环境this,一层层往上找this,跟调用方没关系。
-
如果没有,则是{}!无论严格模式与否。
其他限制
不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替。
【本文章出自博客园willaty,转载请注明作者出处,误差欢迎指出~】