Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Global Object ใน JavaScript คืออะไร

Global Object ใน JavaScript คือออบเจ็กต์ระดับสูงสุดที่มีอยู่ตลอดการทำงานของสคริปต์ ใน Browser คือ window ใน Node.js คือ global (ES2020 มี globalThis เป็นมาตรฐานข้ามแพลตฟอร์ม)

คุณสมบัติหลัก

  • สร้างขึ้นอัตโนมัติเมื่อ Scripting Engine เริ่มต้น
  • ไม่สามารถสร้างด้วย new ได้
  • ให้เข้าถึง Built-in Functions, Values, Global Variables/Functions

การเข้าถึง Built-in Functions

alert("Demo Text");           // ผ่าน Global Object โดยตรง
window.alert("Demo Text");    // ผ่าน window (Browser) อย่างชัดเจน

การเข้าถึง Global Variables/Functions

<html>
  <head>
    <script>
      var str = "Demo Text";
      // เข้าถึงผ่าน window
      alert(window.str); // "Demo Text"
    </script>
  </head>
  <body>
  </body>
</html>

Global Object ในสภาพแวดล้อมต่างๆ

EnvironmentGlobal Object
Browserwindow (และ self, frames)
Node.jsglobal
Web Workersself
ES2020+ (ทั้งหมด)globalThis (มาตรฐาน)

Global Properties/Methods สำคัญ

  • Values: undefined, Infinity, NaN, null (keyword)
  • Functions: eval(), isNaN(), parseInt(), parseFloat(), encodeURI(), decodeURI()
  • Constructors: Object, Array, Function, Date, RegExp, Promise, Map, Set, Error, ฯลฯ
  • Others: console, Math, JSON, Reflect

Best Practice: หลีกเลี่ยงการสร้าง Global Variables/Functions มากเกินไป ใช้ Modules (ES Modules) หรือ IIFE/Closures เพื่อจำกัดขอบเขต