类返回问题中的另一个函数中的TypeScript Arrow函数作为返回
看看这个代码。 当我看控制台时,我有这样的东西:类返回问题中的另一个函数中的TypeScript Arrow函数作为返回,typescript,Typescript,看看这个代码。 当我看控制台时,我有这样的东西: () => { return this.msg; } 老实说,这对我来说是天生的。 还有一件事。当我更改返回console.log(this.msg)的this.msg时,console中什么都没有发生。我做错了什么 class Problemo { msg: string = "hello" printFunction() { var vv = () =>
() => {
return this.msg;
}
老实说,这对我来说是天生的。
还有一件事。当我更改返回console.log(this.msg)的this.msg时,console中什么都没有发生。我做错了什么
class Problemo {
msg: string = "hello"
printFunction() {
var vv = () => {
return this.msg
}
return vv
}
}
var pp = new Problemo()
var xx = pp.printFunction()
console.log(xx)
@解决方案。
我忘记了方括号
console.log(xx())
您的printFunction
方法声明了一个函数vv
,调用该函数时将打印this.msg
,因此pp.printFunction()
的值将是一个函数,您将其分配给xx
并记录到控制台。这就是为什么您会看到函数的源代码:
console.log(xx) // outputs: () => { return this.msg; }
如果改为调用xx
,您将看到以下消息:
console.log(xx()) // outputs: "hello"
您的
printFunction
方法声明了一个函数vv
,该函数在调用时将打印this.msg
,因此pp.printFunction()
的值将是一个函数,您将其分配给xx
并记录到控制台。这就是为什么您会看到函数的源代码:
console.log(xx) // outputs: () => { return this.msg; }
如果改为调用xx
,您将看到以下消息:
console.log(xx()) // outputs: "hello"
问题是什么?据我所见,一切都按预期进行。问题是什么?从我看到的情况来看,一切都按预期进行。糟糕的是,我忘记了括号。非常感谢。糟糕的是,我忘了括号。非常感谢。