JavaScript — ทั้งหมดที่คุณรู้เกี่ยวกับ JS

Nov 30 2022
มีแนวคิดหลักบางอย่างใน JavaScript (หรือที่เรียกว่า JS) ซึ่งจำเป็นอย่างยิ่งในการเรียนรู้ ในบล็อกนี้ ฉันพยายามสาธิตสั้นๆ แต่ตรงประเด็นเกี่ยวกับแนวคิดที่สำคัญของ JS

มีแนวคิดหลักบางอย่างใน JavaScript (หรือที่เรียกว่า JS) ซึ่งจำเป็นอย่างยิ่งในการเรียนรู้ ในบล็อกนี้ ฉันพยายามสาธิตสั้นๆ แต่ตรงประเด็นเกี่ยวกับแนวคิดที่สำคัญของ JS แน่นอนว่าหลังจากที่คุณได้เรียนรู้หัวข้อเหล่านั้นแล้ว JavaScript จะแปลกน้อยลงสำหรับคุณ ดังนั้นไม่ต้องกังวลใจอีกต่อไป! มาเริ่มกันเลย.

สิ่งที่เป็น นามธรรมสูง
ในการเขียนโปรแกรม สิ่งที่เป็นนามธรรมสูงหมายถึงส่วนที่ค่อนข้างซับซ้อนจะถูกซ่อนไว้ และส่วนที่เรียบง่ายจะถูกดู ไวยากรณ์ของภาษานามธรรมสูงนั้นง่ายเมื่อเทียบกับภาษาระดับต่ำเช่น C และ Java ซึ่งทำให้โปรแกรมเมอร์ทำงานกับภาษานามธรรมสูงเช่น JavaScript, Python, Go และอื่น ๆ ได้ง่ายขึ้น

Garbage Collector
ไม่เหมือนกับภาษาระดับต่ำเช่น C เราไม่จำเป็นต้องบำรุงรักษาหน่วยความจำด้วยตนเองใน JavaScript JavaScript ใช้การจัดการหน่วยความจำอัตโนมัติซึ่งเรียกว่า Garbage Collection เมื่อใช้อัลกอริทึม Mark-and-Sweep กลไก JavaScript จะรวบรวมการจัดสรรหน่วยความจำที่ไม่ได้ใช้โดยอัตโนมัติ แล้วลบออก

คอมไพล์ JIT
ด้วยความช่วยเหลือของการคอมไพล์ JIT (ทันเวลาพอดี) โปรแกรมจะถูกคอมไพล์ระหว่างเวลาดำเนินการเป็นโค้ดเนทีฟเพื่อปรับปรุงประสิทธิภาพ เบราว์เซอร์สมัยใหม่รองรับการคอมไพล์ JIT เพื่อคอมไพล์โค้ด JavaScript ซึ่งทำให้เวลาดำเนินการเร็วขึ้น

หลายกระบวน
ทัศน์ ภาษาหลายกระบวนทัศน์ช่วยให้โปรแกรมเมอร์สามารถออกแบบโปรแกรมได้หลายวิธี JavaScript รองรับการเขียนโปรแกรมเชิงวัตถุ, การเขียนโปรแกรมเชิงขั้นตอน, การเขียนโปรแกรมเชิงฟังก์ชันและอื่นๆ

อิงตามต้นแบบ
เห็นได้ชัดว่า JavaScript เป็นภาษาที่ใช้ต้นแบบ ซึ่งหมายความว่าคุณสมบัติและวิธีการของออบเจกต์สามารถแชร์ได้ทั่วทั้งออบเจ็กต์ทั่วไปที่สามารถโคลนและขยายได้ พูดง่ายๆ ก็คือ คุณสามารถโคลนคุณสมบัติและเมธอดของอ็อบเจกต์ และยังสามารถเพิ่มคุณสมบัติและเมธอดเพิ่มเติมให้กับอ็อบเจ็กต์ที่โคลนใหม่ได้อีกด้วย

พิมพ์แบบไดนามิก
พูดง่ายๆ ใน JavaScript ประเภทของตัวแปรจะถูกตรวจสอบในเวลาทำงาน เพื่อสิ่งนั้น เราไม่จำเป็นต้องระบุประเภทข้อมูลของตัวแปรด้วยซ้ำ ยิ่งไปกว่านั้น มันถูกเรียกว่าภาษาพิมพ์แบบหลวม ๆ เพราะประเภทข้อมูลยังสามารถเปลี่ยนแปลงได้โดยอัตโนมัติในเวลาดำเนินการ ซึ่งเรียกว่าการบังคับประเภท อย่างไรก็ตาม TypeScript ซึ่งเป็น superset ของ JavaScript เป็นภาษาที่พิมพ์แบบคงที่

Single-Threaded
JS มีหนึ่ง call stack และหนึ่ง memory heap ซึ่งหมายความว่ามีเพียงเธรดเดียว (กระบวนการ) สำหรับคำสั่งที่จะดำเนินการ ตรงไปตรงมา มีเพียงหนึ่งคำสั่งเท่านั้นที่จะดำเนินการต่อครั้งใน JavaScript

อะซิงโครนัส
แม้ว่าจะเป็นภาษาแบบเธรดเดียว JavaScript ทำงานแบบอะซิงโครนัสด้วยความช่วยเหลือของคิวการโทรกลับและลูปเหตุการณ์ คำสั่งอะซิงโครนัสถูกเก็บไว้ในคิวการเรียกกลับและถูกเรียกใช้โดยลูปเหตุการณ์ และหลังจากนั้นจะถูกดำเนินการเมื่อใดก็ตามที่ดำเนินการซิงโครนัส

การไม่ปิดกั้น การ
ไม่ปิดกั้นหมายถึงแนวคิดของการไม่ปิดกั้นการดำเนินการสำหรับการดำเนินการต่อไป JavaScript ไม่รอให้การดำเนินการ I/O แบบขยายและคำขอ HTTPS เสร็จสมบูรณ์ แทนที่จะรอ มันจะเก็บคำสั่งแบบอะซิงโครนัสไว้ในคิวการเรียกกลับและดำเนินการซิงโครนัสที่เหลือ แนวคิดที่ไม่ปิดกั้นนี้ยังเกี่ยวข้องกับพฤติกรรมแบบอะซิงโครนัสของ JavaScript ซึ่งเราได้กล่าวถึงไปแล้ว

ฟังก์ชันเป็นพลเมืองชั้นหนึ่ง
ฟังก์ชันถูกเรียกว่าพลเมืองชั้นหนึ่งใน JavaScript เนื่องจากใน JavaScript ฟังก์ชันสามารถประกาศเป็นตัวแปร สามารถส่งผ่านเป็นอาร์กิวเมนต์ในฟังก์ชันอื่น และสามารถส่งคืนจากฟังก์ชันได้ นอกจากนี้ยังสามารถตั้งค่าฟังก์ชั่นเป็นวิธีการของวัตถุ

หมายเหตุ: ในบล็อกนี้ ฉันเพิ่งพยายามให้ภาพรวมของคุณสมบัติและคุณลักษณะที่สำคัญที่สุดของ JavaScript ตอนนี้เป็นหน้าที่ของคุณที่จะเรียนรู้เพิ่มเติมเกี่ยวกับหัวข้อที่กล่าวถึงข้างต้นเหล่านี้