2013-07-09 40 views
0

考虑下面的代码:我可以使用typescript.js来做一些语言解析吗?

class Foo 
{ 
    Bar(name: string): void 
    { 
     var x = name; 
    } 

    FooBar(): void 
    { 
    } 
} 

使用typescript.js什么的,是有可能列出类Foo的所有方法?怎么样?

如果可能我想这样做,而不必编译和运行Javascript。如果没有办法,我会试图用正则表达式我的运气...

+0

我有一个版本0.8的打字游乐场:http://basarat.github.io/TypeScriptEditor/你可以使用源:https://github.com/basarat/TypeScriptEditor – basarat

+0

@BASarat你可以更具体?哪个文件做我想做的事? – BrunoLM

+0

请记住,TypeScript是JavaScript的超集,所以这将非常困难(例如:看看Google在Closure Compiler中做这件事有多困难)。但是,如果您只想反思TypeScript类,则可能会破解TypeScript编译器,使用TS解析器收集定义类的所有位置,然后合并方法列表。可以说它比纯JavaScript更容易,但是它不会找到以JavaScript方式向类中添加新方法的地方。 –

回答

1

你不需要typescript.js或任何类似,只使用getOwnPropertyNames

一个打字稿类
var classMemberNames = Object.getOwnPropertyNames(Foo.prototype); 

方法出现在表示类的构造函数的原型属性上。

+0

这需要编译和运行...我真的想避免这种情况。 – BrunoLM

+0

@BrunoLM你通常会编译+运行做反射。你能用另一种语言(C#,Java)给出你想要做什么的例子吗? – zcrar70

+0

@ zcrar70我需要的是解析语言......我需要知道这些方法,我想知道它们而不必编译和运行。如果没有办法,我会诉诸正则表达式。 – BrunoLM

相关问题