🤫

TypeScript で window 直下にオブジェクトを足したい時の最も簡易でfxxkな行為

2020/10/14に公開

TL;DR

クソ適当にやっつけられるが、
これを業務に使ってクソ怒られても筆者は責任取れません(当然だな?)

(window as any).myString = "はいるよ";  // 入る
const myString = (window as any).myString as string;  // 取り出せる

おれはただ window 直下にオブジェクトを足したかっただけなんだ

普段は静的型付けサイコーーー〜〜〜〜〜!!!!!
とか言ってんのに数年前の JavaScript でやれたことをやりたいだけに
クッソ悩んでしまった……。

真面目にやるなら、ちゃんと定義ファイル(window.d.ts とか)を用意して、
Interface 結合によって window オブジェクトを拡張してやるのがいい。

ただ、おれはちょっと実験するのに簡易にやりたかっただけなんだ……。
JavaScript だとこれだもんね。

window.myString = "余裕で入る"; // はいる
const myString = window.myString; // 入っていれば取り出せる

わかってしまえば、そりゃできるよね window オブジェクトでもねってだけの話。
ここを参考にしました。

追記

ちゃんとやるのはこの方法でいけるかも

Discussion