以下是代码:
interface Foo
{
c : string
}
function foo()
{
var c = this.c
return c
}
foo.call({ c : "quux" })
Visual Studio说this : any
因此this.c
的自动完成功能不起作用。如何添加签名以告知this
实现Foo
,以便IDE具有this.
内foo
自动完成的类型信息?
答案 0 :(得分:0)
由于函数foo
可以与任何this
上下文一起使用,因此您需要使用类型断言:
var c = (<Foo>this).c;
否则,无法推断出签名。
答案 1 :(得分:0)
只需创建一个临时变量:
var self:Foo = this;
var c = self.c
return c
有一个未解决的问题,用于指定this
在您可以投票/参与的任意上下文中的含义:https://typescript.codeplex.com/workitem/507