TypeScript 中为window对象添加属性

众所周知,typescript是一款JavaScript的超集,其作用就是在于让我们开发者在艰辛的开发路途中,避免掉一些不必要的麻烦,这“一些不必要的麻烦”主要体现在于

  • TypeScript规范化了JavaScript代码,使其更易于阅读和调试。
  • TypeScript为JavaScript IDE和实践提供了高效的开发工具,比如静态检查。
  • TypeScript可以帮助我们避免开发人员通过类型检查代码编写JavaScript时经常遇到的痛苦错误。

说到些又不得不说到其一特色:强类型。它使本为弱类型的JavaScript语言在开发阶段也可以像java那些强类型语言一样做一些接口(interface)、类型(type)等定义来加强变量的数据结构定义。

话回正题,这是一个我在日常项使用中的思考,虽然最后没有采用这方案,但是我觉得也是一个比较有趣的点,所以在此记录与分享一下。

期望效果:在window上挂在一个全局变量来控制某一个事件
初步方案:直接在window上添加变量。但是此方案直接被编辑器报错提示window的类型不存在这个对象。
思考:如何在window上添加类型呢?毕竟window是js基础元素,类型都在typescript中都定义好了的这就肯定无法在初始化的时候去定义类型了。

查了资料最后确定了方法:
这里其实就是用了全局属性 declare global 和 声明合并两个属性

代码:

declare global {  //设置全局属性
  interface Window {  //window对象属性
    aaa: boolean;   //加入对象
  }
}
window.aaa=true //不报错

再来使用一下也不会有报错提示了:
TypeScript 中为window对象添加属性_第1张图片

你可能感兴趣的:(Type,Script,typescript)