📜  在构造函数中绑定 this 的替代方法是什么?(1)

📅  最后修改于: 2023-12-03 14:51:29.394000             🧑  作者: Mango

在构造函数中绑定 this 的替代方法是使用箭头函数。箭头函数的 this 始终指向定义函数时的作用域,而不是运行时的作用域。

在构造函数中,我们通常需要将 this 绑定到实例化对象上。这通常通过使用 bind、call 或 apply 方法来实现。

例如:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.sayName = function() {
    console.log(this.name);
  }.bind(this);
}

在这个例子中,我们使用 bind 方法将 sayName 方法绑定到实例化对象上。

使用箭头函数,我们可以避免使用 bind 方法,如下所示:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.sayName = () => {
    console.log(this.name);
  };
}

现在,sayName 方法会自动绑定到实例化对象上,无需手动绑定。

需要注意的是,箭头函数不能作为构造函数使用,因为它们没有自己的 this 值。因此,无法使用 new 运算符来创建新对象。

综上所述,使用箭头函数是一种更简洁、更易读的方法,可以替代在构造函数中手动绑定 this。