我一直试图了解这个新的'TypeScript'的东西,我对某些事情有点好奇。
它是否仍然适用于现有的javascript框架,例如jQuery 没有需要包含所有这些接口的定义文件?我一直试图手动测试这个,但到目前为止,我还不确定功能的扩展程度。
by'work'我指的是简单的功能,而不是自动完成等IDE功能。
答案 0 :(得分:40)
简单的答案是是。
TypeScript能够与任何现有Javascript库完全交互。如果您希望IDE中的工具使其更易于使用,则只需要定义文件。
此外,如果您不包含定义文件,那么TypeScript编译器可能会因您使用未在代码中定义的变量而感到生气(如$
)。要解决这个问题,你可能需要做一些像
declare var $;
那就是说,我不确定为什么你不想想要使用jQuery定义文件。使用。编写jQuery肯定会更令人愉快。
答案 1 :(得分:8)
是的,你可以。例如,只需写:
declare var $;
您基本上可以使用JQuery框架而无需定义任何其他内容。当您转换现有库/移植代码时,这也非常方便。
答案 2 :(得分:3)
Typescript允许您使用declare variable
或declare function
语法在descired范围内声明变量(请参阅语言规范中第9页的第1.1节)。但是,使用环境声明只能是一个短期解决方案,因为您将有效地松开所有Typescript的静态类型检查,因此是Typescript相对于Javascript的最重要优势之一。