TIL - Window global object


☄️Window global object


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


JavaScriptは、最初はWebブラウザで使われていた言語です.この過程で、さまざまな用途とプラットフォームをサポートする言語に変更しました.
JavaScriptが実行するプラットフォームをホスト(host)と呼ぶ.ホストは、ブラウザ、Webサーバ、さらにはコーヒーマシンであってもよい.各プラットフォームは、JavaScriptリストでホスト環境(host environment)と呼ばれるプラットフォーム固有の機能を提供します.
👉 グローバルオブジェクトは、コードが実行される前にJavaScriptエンジンによって最初に作成される特殊なオブジェクトです.
👉 オブジェクトに属していない最上位オブジェクト.
👉 グローバルオブジェクトの名前はJavaScriptホスト環境に依存し、ブラウザ環境ではwindow、nodeとなる.js環境ではglobalです.
👉 グローバル・オブジェクトには、すべての標準で構築されたオブジェクトとホスト・オブジェクトがプロファイルとして使用されます.

window global object


👉 次の図は、ホスト環境がWebブラウザの場合に使用できる機能を示しています
👉 上部にはwindowという「ルート」というオブジェクトがあります.Windowsオブジェクトには2つのロールがあります.
👉 「グローバルオブジェクト」の章で説明したように、JavaScriptコードのグローバルオブジェクトです.
ブラウザウィンドウ(browserwindow)を表し、制御方法を提供します.
👉 ブラウザ環境は、DOM、BOM、Canvas、XMLHttpRequestなどのクライアントWeb apiをホストオブジェクトとして提供します.


👉 ブラウザではwindowが最高のglobal objです
👉 objを指定していない場合、global object windowは自動的にobjに設定されます.window.innerHeightinnerHeightは同じです
👉 これにより、ブラウザは私たちが使用できる内蔵APIを提供します.私たちはそれを呼び出して利用することができます.
👉 var変数と宣言されていない変数の値はグローバル変数です.
var変数宣言=グローバル変数
var foo = 1; 
console.log(window.foo); 
宣言されていない変数の場合、値(デフォルト)=グローバル変数
bar = 1; 
console.log(window.bar); 
グローバル関数
function baz() { return 3; } 
console.log(window.baz()); 
👉 let,constキーワードとして宣言されたグローバル変数はグローバルオブジェクトのPropertyではない!!
let foo = 1;
console.log(window.foo);  안된다. !!!
コメントリンク
https://ko.javascript.info/browser-environment
グローバルオブジェクトhttps://ko.javascript.info/global-object