美文网首页
ES2015 箭头函数

ES2015 箭头函数

作者: zshanjun | 来源:发表于2017-04-18 19:31 被阅读682次

箭头函数用法

传统写法:

class Task {}

class TaskCollection {
    constructor(tasks = []) {
        this.tasks = tasks;
    }

    log() {
        this.tasks.forEach(function(task) {
            return console.log(task);
        });
    }
}

new TaskCollection([
    new Task, new Task, new Task
]).log();

//输出3个Task{}

箭头函数写法:

    log() {
        this.tasks.forEach((task) => {
            console.log(task);
        })
    }


注意,在只有一个参数和一条执行语句时,可以简化为下面的写法:


    log() {
        this.tasks.forEach(task => console.log(task));
    }

注意事项

1、 this值

普通function函数和箭头函数的行为有一个微妙的区别,箭头函没有它自己的this值,箭头函数内的this值继承自外围作用域。

如果将上面的代码改成打印this,在箭头函数中this值为TaskCollection {tasks: Array[3]},在传统函数中会输出undefined,这是由于自动开启了strict mode,否则默认会指向window对象。

2、箭头函数会默认返回

在箭头函数中可以省略return

示例:

//auto return

let names = ['jack', 'jobs', 'nike'];

// names = names.map(function(name) {
//  return name + ' is coll.';
// });

names = names.map(name => name + ' is cool.');

console.log(names);

相关文章

  • JScript语言——ES6(ES2015)

    ES6(ES2015)语法介绍 变量声明let、const 块级作用域 解构赋值 箭头函数清楚简写形式箭头函数的t...

  • ES2015 箭头函数

    箭头函数用法 传统写法: 箭头函数写法: 注意,在只有一个参数和一条执行语句时,可以简化为下面的写法: 注意事项 ...

  • promise

    本文目标 从一脸懵逼,到认识、掌握并使用Promise…… ES2015出来之后,什么箭头函数、类声明、解构赋值等...

  • ES6笔记

    第一章 入门 一、简介ES6==ES2015特点:功能更强大,结构更简单特性:解构赋值、箭头函数、Set和Map、...

  • ES2015箭头函数与普通函数对比理解

    直接返回表达式 包含语句 包含this 不用修正箭头函数的this,this自动指向所在的上下文对象 对比非箭头函...

  • ES6~箭头函数

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

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

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

  • 学习 ES 6 箭头函数

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

  • 箭头函数

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

  • TS  笔记this

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

网友评论

      本文标题:ES2015 箭头函数

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