【发布时间】:2012-09-27 03:50:15
【问题描述】:
我一直在尝试了解这个新的 'TypeScript' 东西,我对某些东西有点好奇。
它是否仍然可以与现有的 javascript 框架(如 jQuery)一起工作,而 不需要包含所有这些接口的定义文件?我一直在尝试手动对此进行测试,但目前还不确定该功能的扩展范围。
更新
我所说的“工作”是指简单的功能,而不是像自动完成这样的 IDE 功能。
【问题讨论】:
标签: typescript
我一直在尝试了解这个新的 'TypeScript' 东西,我对某些东西有点好奇。
它是否仍然可以与现有的 javascript 框架(如 jQuery)一起工作,而 不需要包含所有这些接口的定义文件?我一直在尝试手动对此进行测试,但目前还不确定该功能的扩展范围。
我所说的“工作”是指简单的功能,而不是像自动完成这样的 IDE 功能。
【问题讨论】:
标签: typescript
简单的答案是是的。
TypeScript 能够与 任何 现有的 Javascript 库完全交互。如果您希望 IDE 中的工具更易于使用,则只需要定义文件。
此外,如果您不包含定义文件,TypeScript 编译器可能会因为您使用尚未在您的代码中定义的变量(如 $)而生您的气。为了解决这个问题,您可能需要做类似的事情
declare var $;
也就是说,我不确定您为什么不会想要使用 jQuery 定义文件。用它编写 jQuery 肯定会更愉快。
【讨论】:
declare var $:any; 更好
是的,你可以。例如只写:
declare var $;
而且您基本上可以使用 JQuery 框架而无需定义任何其他内容。当您转换现有库/移植代码时,这也非常方便。
【讨论】:
Typescript 允许您使用 declare variable 或 declare function 语法在所需范围内声明变量(请参阅语言规范中第 9 页的第 1.1 节)。但是,使用环境声明只能是一种短期解决方案,因为您将有效地放弃 Typescript 的所有静态类型检查,因此是 Typescript 相对于 Javascript 最重要的优势之一。
【讨论】: