笔记:Typescript 中引用全局变量

本文作者:文蔺
本文地址:http://www.wemlion.com/2016/ts-note-on-global-reference/
本文由 @文蔺 创作,转载请保留此声明。
所有权保留,请勿用作商业用途。

朋友的朋友,最近的一个项目使用了 angular.js,是使用 typescript 开发的。
让我惊奇的是,竟然还是使用 1.2 版本。
项目还引用了一个外部 js(没有现成的 .d.ts
文件可用)。这个 js 文件暴露了一个全局变量,需要在 ts 文件中调用。暂且命名为 ClassOutOfTS

那么问题来了。在 ts 中直接调用 new ClassOutOfTS()
会引起编译报错,因为 ts 编译器根本就找不到 ClassOutOfTS
的定义。
想想实在没什么好办法。那就自己去写个 .d.ts
文件好啦。
等等,好像不对。
我最近两周的空闲时间在看 angular2,好像有个例子中,出现过对 window
特殊处理的情况。
查查代码,还真有。废话少说,直接上代码:
var ins:any = (<any>window).ClassOutOfTS();

虽然这办法很黑,可是也没什么更好的了。
简单解释下。上面这行代码中,关键部分是 <any>window
这一句。<any>
在这里的作用是强制类型转换。
编译器并不知晓 window 下面有哪些属性、方法。但强制转换成 any 类型之后,就不会报错了。
单记录下。以备不时之需。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,564评论 25 709
  • 慕课网@JoJozhai 老师 TypeScript入门课程分享 TypeScript入门 ES5,ES6,JS,...
    shangpudxd阅读 13,565评论 0 22
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,592评论 18 399
  • 和硅谷消费者之间的联结也是allbirds成功的原因之一。它的优势在于,按照硅谷创业公司的做法决定了它对待消费者就...
    圈霓阅读 3,517评论 0 0
  • 客厅给人的烦恼确实不少,除了要设计风格以外,还要考虑空间大小如何利用得当,整个家里可以说客厅这一块是家装最需要下功...
    古代最强大的王朝是唐汉阅读 2,939评论 0 0

友情链接更多精彩内容