首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6/8语法.箭头函数

ES6/8语法.箭头函数
EN

Stack Overflow用户
提问于 2020-02-27 02:50:00
回答 2查看 34关注 0票数 0

以下两种方法的结果是不同的,尽管它们看起来是一样的。

1

代码语言:javascript
复制
const addBlogPost = dispatch => {
    return () => {
        dispatch({type: 'add_blogpost'});
    }
};

2

代码语言:javascript
复制
const addBlogPost = dispatch => dispatch({type: 'add_blogpost'});

有人能指出他们有什么不同吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-27 02:58:38

您可以使用此站点将es6箭头函数编译为普通JS,以便很容易地看出两者之间的区别。

第一个编译到此

代码语言:javascript
复制
var addBlogPost = function addBlogPost(dispatch) {
  return function () {
    dispatch({
      type: 'add_blogpost'
    });
  };
};

第二个则编译为

代码语言:javascript
复制
var addBlogPost = function addBlogPost(dispatch) {
  return dispatch({
    type: 'add_blogpost'
  });
};

第一个函数返回一个具有分派的函数,而第二个函数直接返回一个分派。

票数 0
EN

Stack Overflow用户

发布于 2020-02-27 02:57:04

结果总是一样的,因为两个函数都在重新调整相同的东西。唯一的区别是:

  1. 在第一个函数中,返回一个返回返回dispatch函数的对象的函数。
  2. 在第二个函数中,直接返回dispatch函数。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60425579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档