recherche

Maison  >  Questions et réponses  >  le corps du texte

es6对象方法简写?

var person = {
    name: "Nicholas",
    sayName() {
        console.log(this.name);
    }
};

var person = {
    name: "Nicholas",
    sayName:()=> {
        console.log(this.name);
    }
};

这两种写法有什么区别?

高洛峰高洛峰2957 Il y a quelques jours779

répondre à tous(2)je répondrai

  • 代言

    代言2016-11-09 11:37:05

    this的不一样,箭头函数不会产生新的this

    répondre
    0
  • 三叔

    三叔2016-11-09 11:36:49

    区别在于第一个 this 指向 person,也就是你调用 person.sayName() 时可以得到 Nicholas,第二个实际上可以看作

    var person = {
        name: "Nicholas",
        sayName: function() {
            console.log(this.name);
        }
    };

    它的 this 实际上指向的是 window 而不是 person,所以取不到对应的 name 值

    répondre
    0
  • Annulerrépondre