我们正在使用打字稿进行开发。 我也收到一条评论评论,认为我们不应使用“ this”关键字,它会影响性能。 本地代码:
export Class MyClass
{
public myMethod1(Data) {
this.myMethod2();
}
public myMethod2() {
}
}
我们正在使用如下所示访问“ this”。 更改后:
export Class MyClass
{
public myMethod1(Data) {
let self = this;
self.myMethod2();
}
public myMethod2() {
}
}
所以,请您帮忙使用'this'关键字。
答案 0 :(得分:1)
这对性能没有影响。但是,在每个类方法的开头使用名为self
的变量并使用this
对其进行初始化,可能有助于避免不必要的行为。例如:
Class MyClass
{
public foo () {
const self = this;
callMeLater(function (){
console.log(self); // "self" is always the instance of MyClass
console.log(this); // "this" may refer to another object!
});
}
}
在此示例中,捕获self
的同时保留对MyClass实例的引用,并且在回调函数中它仍指向MyClass实例,但是在回调函数this
中可能引用了某些内容否则,这取决于回调函数的调用方式。