在 TypeScript 中,绑定和返回函数中的 this 上下文可能会引发错误。这是因为在函数调用时,this 的值是根据调用方式动态确定的。为了解决这个问题,可以使用箭头函数、bind() 方法或使用箭头函数绑定 this。
class MyClass {
private myProperty: number = 42;
myMethod = () => {
console.log(this.myProperty);
}
}
const myInstance = new MyClass();
myInstance.myMethod(); // 输出 42
class MyClass {
private myProperty: number = 42;
myMethod() {
console.log(this.myProperty);
}
}
const myInstance = new MyClass();
const boundFunction = myInstance.myMethod.bind(myInstance);
boundFunction(); // 输出 42
class MyClass {
private myProperty: number = 42;
myMethod() {
console.log(this.myProperty);
}
}
const myInstance = new MyClass();
const boundFunction = () => myInstance.myMethod();
boundFunction(); // 输出 42
通过这些方法,可以在 TypeScript 中正确地绑定和返回函数中的 this 上下文。
下一篇:绑定和非绑定方法对象