Global object (ã°ãã¼ãã«ãªãã¸ã§ã¯ã)
ã°ãã¼ãã«ãªãã¸ã§ã¯ã㯠JavaScript ã«ããã¦ãã°ãã¼ãã«ã¹ã³ã¼ãã表ããªãã¸ã§ã¯ãã§ãã
ã¡ã¢: ã°ãã¼ãã«ã¹ã³ã¼ãå ã®ãªãã¸ã§ã¯ãã§ããã°ãã¼ãã«ã«å©ç¨å¯è½ãªãªãã¸ã§ã¯ãã¯ãã°ãã¼ãã«ãªãã¸ã§ã¯ãã¨å¼ã°ãããã¨ãããã¾ãããå³å¯ã«è¨ãã°ãç°å¢ãã¨ã«ã°ãã¼ãã«ãªãã¸ã§ã¯ã㯠1 ã¤ããåå¨ãã¾ããã
ã©ã® JavaScript ç°å¢ã«ããã¦ãã常ã«ã°ãã¼ãã«ãªãã¸ã§ã¯ããå®ç¾©ããã¦ãã¾ããã°ãã¼ãã«ãªãã¸ã§ã¯ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãã¹ã¯ãªãããå®è¡ããã¦ããå®è¡ã³ã³ããã¹ãã«ãã£ã¦ç°ãªãã¾ããä¾ã示ãã¾ãã
- ã¦ã§ããã©ã¦ã¶ã¼ã§ã¯ãæç¤ºçã«ããã¯ã°ã©ã³ãã¿ã¹ã¯ã¨ãã¦èµ·åãããã³ã¼ããé¤ãã
Windowãã°ãã¼ãã«ãªãã¸ã§ã¯ãã«ãªãã¾ããã¦ã§ãã«ããã JavaScript ã³ã¼ãã®ã»ã¨ãã©ã¯ãã®ã±ã¼ã¹ã«è©²å½ãã¾ãã Workerå ã§å®è¡ãããã³ã¼ãã§ã¯WorkerGlobalScopeãªãã¸ã§ã¯ããã°ãã¼ãã«ãªãã¸ã§ã¯ãã«ãªãã¾ãã- Node.js ã§å®è¡ãããã¹ã¯ãªããã®å ´åã
globalã¨å¼ã°ãããªãã¸ã§ã¯ããã°ãã¼ãã«ãªãã¸ã§ã¯ãã«ãªãã¾ãã
globalThis ã°ãã¼ãã«ããããã£ã使ç¨ããã¨ãç¾å¨ã®ç°å¢ã«é¢ä¿ãªãã°ãã¼ãã«ãªãã¸ã§ã¯ãã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
ã¹ã¯ãªããã®æä¸ä½ã«ãã var æããã³ é¢æ°å®£è¨ ã¯ãã°ãã¼ãã«ãªãã¸ã§ã¯ãã®ããããã£ã使ãã¾ãã䏿¹ãlet ããã³ const 宣è¨ã¯ãã°ãã¼ãã«ãªãã¸ã§ã¯ãã®ããããã£ã使ãããã¨ã¯ããã¾ããã
ã°ãã¼ãã«ãªãã¸ã§ã¯ãã®ããããã£ã¯ãèªåçã«ã°ãã¼ãã«ã¹ã³ã¼ãã«è¿½å ããã¾ãã
JavaScriptã§ã¯ãã°ãã¼ãã«ãªãã¸ã§ã¯ãã¯å¸¸ã«èªåèªèº«ã¸ã®åç §ãä¿æãã¦ãã¾ãã
console.log(globalThis === globalThis.globalThis); // true ï¼ã©ãã§ãï¼
console.log(window === window.window); // true ï¼ãã©ã¦ã¶ã¼ã§ï¼
console.log(self === self.self); // true ï¼ãã©ã¦ã¶ã¼ã¾ãã¯ã¦ã§ãã¯ã¼ã«ã¼ã§ï¼
console.log(frames === frames.frames); // true ï¼ãã©ã¦ã¶ã¼ã§ï¼
console.log(global === global.global); // true ï¼Node.js ã§ï¼