箭头函数

作者: SingleDiego | 来源:发表于2019-02-18 23:23 被阅读9次

参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions




基础语法
(参数1, 参数2, …, 参数N) => { 函数声明 }

例如:

var f = (num1, num2) => { 
    return num1*num2 
};

console.log(f(3, 4)); // 12

可以简写成:

(参数1, 参数2, …, 参数N) => 表达式(单一)

例如:

var f = (num1, num2) => num1*num2;

console.log(f(3, 4)); // 12

当只有一个参数时,圆括号是可省略的:

(单一参数) => {函数声明}
单一参数 => {函数声明}

例如:

var f = num => num*num;

console.log(f(3)); // 9

没有参数的函数应该写成一对圆括号:

() => {函数声明}

例如:

var f = () => 'hello world';

console.log(f()); // hello world




引入箭头函数有两个方面的作用:简化函数和不需要绑定 this

简化函数

我们使用 map 方法一次输出一个数组各元素的长度,使用以下方法:

var materials = [
    'Hydrogen',
    'Helium',
    'Lithium',
    'Beryllium'
  ];

var f = materials.map(function(material) { 
    return material.length; 
  }); 

console.log(f) // [8, 6, 7, 9]

使用箭头函数简化:

var f = materials.map(material => {
    return material.length; 
});
    
console.log(f) // [8, 6, 7, 9]

进一步简化:

var f = materials.map(material =>  material.length);
    
console.log(f) // [8, 6, 7, 9]




不绑定 this

在 ECMAScript 3/5中,通过将 this 值分配给封闭的变量,可以解决 this 问题。

function Person() {
    this.age = 0;
  
    var self = this;
    setInterval(function growUp() {
      self.age++;
      console.log(self.age);
    }, 1000);
  }

var p = new Person();

使用箭头函数则不用绑定 this

function Person() {
    this.age = 0;
  
    // var self = this;
    setInterval(() => {
      this.age++;
      console.log(this.age);
    }, 1000);
  }

var p = new Person();

相关文章

  • ES6~箭头函数

    什么是箭头函数 单表达式箭头函数 相当于 多表达式箭头函数 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有...

  • 箭头函数和立即执行函数

    箭头函数 箭头函数和普通函数有什么区别?如果把箭头函数转换为不用箭头函数的形式,如何转换主要是this的差别,箭头...

  • 学习 ES 6 箭头函数

    箭头函数的用法 ES6 允许使用“箭头”(=>)定义函数。 箭头函数的一个用处是简化回调函数。 箭头函数 this...

  • 箭头函数

    箭头函数 箭头函数能让this的指向固定化 分析:1)第一个setInterval()中使用了箭头函数,箭头函数使...

  • TS  笔记this

    this 箭头函数在箭头函数创建的地方获得this;非箭头函数,在调用函数的地方获得this如图

  • 箭头函数和数组

    箭头函数&数组 箭头函数 特点: 没有 this 没有 arguments 没有prototype在箭头函数中使用...

  • 箭头函数

    箭头函数 为什么使用箭头函数

  • 箭头函数中this的指向

    箭头函数在平时开发中用着非常爽,箭头函数有什么特点呢 箭头函数不能够当做构造函数使用 箭头函数没有argument...

  • js学习笔记4(函数)

    1.箭头函数 ES6新增属性。箭头函数特别适合嵌入函数的场景。 箭头函数虽然语法简介,但是很多场合不适用。箭头函数...

  • js理解普通函数和箭头函数

    普通函数: 箭头函数: 区别: 构造函数和原型 箭头函数不能作为构造函数 不能new。会报错 箭头函数没有原型属性...

网友评论

    本文标题:箭头函数

    本文链接:https://www.haomeiwen.com/subject/ahctyqtx.html