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

JavaScript เป็นภาษา Untyped อย่างไร?

JavaScript เป็นภาษา untyped (ไม่มีชนิดข้อมูลคงที่) หมายความว่าตัวแปร JavaScript สามารถเก็บค่าชนิดข้อมูลใดๆ ได้ ไม่ทำงานแบบ C, C++, Java ที่ต้องระบุ datatype เช่น int, char

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

ตัวอย่าง

Live Demo

<html> 
  <body> 
    <script> 
      <!-- 
        var age = 20; 
        if(age > 18) { 
          document.write("<b>Qualifies for driving</b>"); 
        } 
      //--> 
    </script> 
  </body> 
</html>

ความเข้าใจที่ถูกต้อง: Dynamically Typed

JavaScript จริงๆ แล้วเป็น Dynamically Typed (มีชนิดข้อมูลแต่ 결정ได้ที่ runtime) ไม่ใช่ Untyped (ไม่มีชนิดข้อมูลเลย เช่น Assembly, Forth)

  • Dynamically Typed: ตัวแปรไม่มีชนิด แต่ ค่า (value) มีชนิด — JS, Python, Ruby
  • Statically Typed: ตัวแปรมีชนิดคงที่ — C, Java, TypeScript
  • Untyped: ไม่มีชนิดข้อมูลเลย — BCPL, Assembly

ใน JS ตัวแปรเดียวกันสามารถเก็บค่าชนิดต่างกันได้ตลอดเวลา:

let x = 42;      // number
x = "hello";     // string - OK
x = true;        // boolean - OK
x = [1,2,3];     // object - OK