TypeScript可以在没有定义文件的情况下与jQuery交互吗?

时间:2012-10-06 00:15:21

标签: typescript

我一直试图了解这个新的'TypeScript'的东西,我对某些事情有点好奇。

它是否仍然适用于现有的javascript框架,例如jQuery 没有需要包含所有这些接口的定义文件?我一直试图手动测试这个,但到目前为止,我还不确定功能的扩展程度。

更新

by'work'我指的是简单的功能,而不是自动完成等IDE功能。

3 个答案:

答案 0 :(得分:40)

简单的答案是

TypeScript能够与任何现有Javascript库完全交互。如果您希望IDE中的工具使其更易于使用,则只需要定义文件。

此外,如果您不包含定义文件,那么TypeScript编译器可能会因您使用未在代码中定义的变量而感到生气(如$)。要解决这个问题,你可能需要做一些像

这样的事情
declare var $;

那就是说,我不确定为什么你不想想要使用jQuery定义文件。使用。编写jQuery肯定会更令人愉快。

答案 1 :(得分:8)

是的,你可以。例如,只需写:

declare var $;

您基本上可以使用JQuery框架而无需定义任何其他内容。当您转换现有库/移植代码时,这也非常方便。

答案 2 :(得分:3)

Typescript允许您使用declare variabledeclare function语法在descired范围内声明变量(请参阅语言规范中第9页的第1.1节)。但是,使用环境声明只能是一个短期解决方案,因为您将有效地松开所有Typescript的静态类型检查,因此是Typescript相对于Javascript的最重要优势之一。