🤫
TypeScript で window 直下にオブジェクトを足したい時の最も簡易でfxxkな行為
TL;DR
クソ適当にやっつけられるが、
これを業務に使ってクソ怒られても筆者は責任取れません(当然だな?)
(window as any).myString = "はいるよ"; // 入る
const myString = (window as any).myString as string; // 取り出せる
おれはただ window 直下にオブジェクトを足したかっただけなんだ
普段は静的型付けサイコーーー〜〜〜〜〜!!!!!
とか言ってんのに数年前の JavaScript でやれたことをやりたいだけに
クッソ悩んでしまった……。
真面目にやるなら、ちゃんと定義ファイル(window.d.ts とか)を用意して、
Interface 結合によって window オブジェクトを拡張してやるのがいい。
- 参考元
- Merging Interfaces - TypeScript Document
- TypeScript で window 直下にいろいろ生やしたりグローバル変数を定義する - Developers.IO
ただ、おれはちょっと実験するのに簡易にやりたかっただけなんだ……。
JavaScript だとこれだもんね。
window.myString = "余裕で入る"; // はいる
const myString = window.myString; // 入っていれば取り出せる
わかってしまえば、そりゃできるよね window オブジェクトでもねってだけの話。
ここを参考にしました。
追記
ちゃんとやるのはこの方法でいけるかも
- TypeScript の型定義ファイルと仲良くなろう | Hatena Developer Blog
Discussion