代码之家  ›  专栏  ›  技术社区  ›  Vinod Kolla

JS绑定方法未使用同一实例[重复]

  •  0
  • Vinod Kolla  · 技术社区  · 6 年前

    ES2015中的箭头函数提供了更简洁的语法。

    • 现在可以用箭头函数替换所有函数声明/表达式吗?
    • 我要注意什么?

    示例:

    构造器函数

    function User(name) {
      this.name = name;
    }
    
    // vs
    
    const User = name => {
      this.name = name;
    };
    

    原型方法

    User.prototype.getName = function() {
      return this.name;
    };
    
    // vs
    
    User.prototype.getName = () => this.name;
    

    对象(文字)方法

    const obj = {
      getName: function() {
        // ...
      }
    };
    
    // vs
    
    const obj = {
      getName: () => {
        // ...
      }
    };
    

    回拨

    setTimeout(function() {
      // ...
    }, 500);
    
    // vs
    
    setTimeout(() => {
      // ...
    }, 500);
    

    变量函数

    function sum() {
      let args = [].slice.call(arguments);
      // ...
    }
    
    // vs
    const sum = (...args) => {
      // ...
    };
    
    0 回复  |  直到 5 年前