JavaScript Scope: Block, Global, และ Function

Scope คือสิ่งที่กำหนดว่าคุณสามารถใช้งานตัวแปรได้ที่ไหนในโค้ดของคุณ

  1. Global Scope ตัวแปรจะอยู่นอกฟังก์ชันหรือบล็อก คุณสามารถเข้าถึงตัวแปรเหล่านี้ได้จากทุกที่ในสคริปต์ของคุณ คำเตือน: ตัวแปร Global อาจทำให้เกิดบั๊กได้ เนื่องจากโค้ดส่วนใดก็ได้สามารถเข้ามาเปลี่ยนแปลงค่าของมันได้

  2. Function Scope ตัวแปรจะอยู่ภายในฟังก์ชัน คุณสามารถเข้าถึงตัวแปรเหล่านี้ได้เฉพาะภายในฟังก์ชันนั้นๆ เท่านั้น

  3. Block Scope สิ่งนี้ใช้กับ JavaScript สมัยใหม่ที่ใช้ let หรือ const โดยตัวแปรจะอยู่ภายในเครื่องหมายปีกกา {} บล็อกประกอบด้วย:

สรุปเรื่อง Scope:

ทำความเข้าใจเรื่อง Process และ Thread

Process คือโปรแกรมที่กำลังทำงานอยู่ซึ่งมีหน่วยความจำเป็นของตัวเอง ลองนึกภาพว่า WhatsApp คือหนึ่ง process

Thread คือส่วนประกอบย่อยของ process โดยที่ thread ต่างๆ จะใช้หน่วยความจำร่วมกัน

ตัวอย่างของ WhatsApp: หนึ่ง process (WhatsApp) สามารถรันได้หลาย thread:

Source: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope Source: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe