TIL : TypeScriptでwindowにプロパティを追加する方法

2019/11/07(Thu) - 17:57

問題

TypeScriptではWindowsObjectに対して自由にプロパティを追加できない

// javaScriptならイケるが、TypeScriptではERRORになる
windwo.foo = 'bar';
  • Windowのグローバルにfooというプロパティはないため代入ができずにエラーになる。

対処

interface / declareを利用する

interface MyWindow extends Window {  
    foo: string  
}  
declare var window: MyWindow;  
export default window;  

windowを直接使いたい場面で、上記で作成したwindowをimportすることで、自ら定義したwindow以下のプロパティも使用できるようになる

import window from './window';  
window.foo = 'bar'

カテゴリ