我看到已经有一个用于将TypeScript编译为WebAssembly (Wasm)的编译器here is the link。
我还从多个来源听说,由于JavaScript的动态性质和动态类型,将JS编译为Wasm是不可行的。
但是,JavaScript缺少的TypeScript确实提供了类型化的变量。在未来,Wasm甚至可能能够与DOM交互/与其他web API交互。
问题:
与用JavaScript编写web应用程序相比,用TypeScript编写应用程序并将其编译为Wasm会提供任何性能优势吗?
发布于 2018-08-19 21:58:23
现实的答案是:不。关于TypeScript有一些常见的误解。其一,它的动态性不如JavaScript。这不是真的,它实际上和JS一样是动态的,因为它包含了JavaScript的所有语义(包括所有疯狂的角例),而且它的类型系统太弱和不完善,无法提供普通离线编译器可以用于静态优化的保证。在最好的情况下,这些类型可以用作提示,表明动态VM可以在知道它们可能被证明是错误的情况下,首先尝试进行优化。
(而且,我不知道是否有TypeScript-to-Wasm编译器。您可能会想到AssemblyScript,但是虽然它重用了TypeScript的语法,但它的语义却截然不同。)
发布于 2020-05-13 05:07:16
您在问题中引用了AssemblyScript。汇编脚本是typescript的一个非常严格的子集。不要把它和typescript混为一谈,它是自己的。最大的区别是Typescript包含了所有我们都知道并且喜欢(讨厌)在Javascript中的动态属性。另一方面,AssemblyScript并非如此。
这里有几个很大的不同之处:在AssemblyScript中不能有闭包。你也不能有联合类型。
https://stackoverflow.com/questions/51918031
复制相似问题