javascript グローバルオブジェクト

今回はグローバルオブジェクトについて書いていく。
オブジェクトに関してはまだ何も書いてないねんけど、すごい重要やからって3章に書いてたから読んだ。
普通のオブジェクトと何が違うんやろ。jsにはスコープっていうのがあって、スコープを制限してるものをブロックスコープっていうらしい。ほんで、全てのコードにスコープがあるものをグローバルスコープっていうんやけど、それのオブジェクトをグローバルオブジェクトっていうねんて。
このグローバルオブジェクトって、webブラウザーを立ち上げた時、詳しくはjsインタプリターが立ち上がった時に生成されるオブジェクトらしくて、webブラウザでは、Windowオブジェクトがグローバルオブジェクトらしい。で、このグローバルオブジェクトが生成されると以下のプロパティー群をもつように初期化される・

グローバル定数: undefined, Infinity, NaN
グローバル関数: isNaN(), parseInt(), eval()
コントラクタ関数: Date(), RegExp(), String(), Object(), Array()
グローバルオブジェクト: MathJSON

コントラクタ関数とかそもそも関数とかまだやってへんから説明省くねんけど、グローバルオブジェクトってブラウザではWindowだけちゃうんかいって思ったよな。おれも。
意味わからんくて調べたかんじ、グローバルオブジェクト下にあるオブジェクトって意味でグローバルオブジェクトって言うてるだけなんかなって思う。ES2020からはgrobalThisでグローバルオブジェクトを参照できるように進められてる。
ちなみにnodeとかにもグローバルオブジェクトがあるんやけど、これはgrobalっていうのがグローバルオブジェクトらしい。

この記事が気に入ったらサポートをしてみませんか?