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

ความแตกต่างระหว่าง "Untyped" และ "Dynamically Typed" Programming Languages

Dynamically Typed (ไดนามิกทายป์)

ภาษา dynamically typed เรียกอย่างนั้นเพราะชนิดข้อมูลเกี่ยวข้องกับค่า runtime คุณไม่ต้องระบุชนิดทุกครั้ง ตามชื่อ ชนิดของตัวแปรเป็น dynamic หมายถึงแม้ตั้งค่าตัวแปรเป็นชนิดหนึ่งแล้ว ก็สามารถเปลี่ยนได้

ภาษา dynamically typed รวมถึง Python, Perl, Ruby, JavaScript ฯลฯ

Untyped (อันไทป์)

ภาษา untyped เรียกว่าภาษา dynamically typed ด้วย คือภาษาที่ไม่บังคับให้กำหนดชนิดของตัวแปร

JavaScript เป็นภาษา untyped หมายความว่าตัวแปร JavaScript สามารถเก็บค่าชนิดข้อมูลใดๆ ได้ ใช้ var สำหรับการประกาศ ไม่ว่าจะเป็นตัวเลขหรือสตริง

var points = 100; 
var rank = 5;

ความเข้าใจที่ถูกต้อง (Technical Correction)

คำศัพท์ความหมายจริงตัวอย่างภาษา
Dynamically Typedตัวแปรไม่มีชนิด ค่ามีชนิด ตรวจสอบชนิดขณะ runtimeJavaScript, Python, Ruby, PHP, Lua
Statically Typedตัวแปรมีชนิดคงที่ ตรวจสอบชนิดขณะ compile-timeC, C++, Java, Go, TypeScript, Rust
Untypedไม่มีระบบชนิดข้อมูลเลย (ทุกอย่างเป็น bit/word)Assembly, Forth, BCPL, machine code

JavaScript เป็น Dynamically Typed ไม่ใช่ Untyped — คำว่า "untyped" ในบทความเดิมเป็นการใช้คำผิด (common misconception)