Ecmascript 6 ES6/8语法-箭头函数

Ecmascript 6 ES6/8语法-箭头函数,ecmascript-6,arrow-functions,Ecmascript 6,Arrow Functions,下面的两个结果是不同的,尽管它们看起来是一样的 1. 2. 有人能指出它们有什么不同吗?结果总是一样的,因为两个函数都在重新调整相同的东西。 唯一的区别是: 在第一个函数中,返回一个函数,该函数返回一个返回dispatch函数的对象 在第二个函数中,您直接返回dispatch函数 您可以使用它将es6 arrow函数编译为vanilla JS,以便轻松看到差异 第一个编译为 var addBlogPost = function addBlogPost(dispatch) { return f

下面的两个结果是不同的,尽管它们看起来是一样的

1. 2.
有人能指出它们有什么不同吗?

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

  • 在第一个函数中,返回一个函数,该函数返回一个返回
    dispatch
    函数的对象
  • 在第二个函数中,您直接返回
    dispatch
    函数 您可以使用它将es6 arrow函数编译为vanilla JS,以便轻松看到差异

    第一个编译为

    var addBlogPost = function addBlogPost(dispatch) {
      return function () {
        dispatch({
          type: 'add_blogpost'
        });
      };
    };
    
    var addBlogPost = function addBlogPost(dispatch) {
      return dispatch({
        type: 'add_blogpost'
      });
    };
    
    第二个编译为

    var addBlogPost = function addBlogPost(dispatch) {
      return function () {
        dispatch({
          type: 'add_blogpost'
        });
      };
    };
    
    var addBlogPost = function addBlogPost(dispatch) {
      return dispatch({
        type: 'add_blogpost'
      });
    };
    
    第一个函数返回具有分派的函数,而第二个函数直接返回分派