TypeScript basic types


TypeScript มีชนิดข้อมูลพื้นฐานหลายประเภท ซึ่งครอบคลุมชนิดข้อมูลดั้งเดิมของ JavaScript และเพิ่มความสามารถในการระบุชนิดข้อมูลเพิ่มเติม

ในภาษา TypeScript การประกาศตัวแปรจะมีโครงสร้างพื้นฐานดังนี้:

const variableName: type = value;
let variabelName: type = value;
  • const หรือ let ใช้สำหรับประกาศตัวแปร โดย const ใช้สำหรับตัวแปรที่ไม่สามารถเปลี่ยนแปลงค่าได้ และ let ใช้สำหรับตัวแปรที่สามารถเปลี่ยนแปลงค่าได้

  • variableName คือชื่อของตัวแปร

  • : type ใช้ระบุชนิดข้อมูลของตัวแปร เช่น string, number, boolean เป็นต้น

  • = value ใช้กำหนดค่าเริ่มต้นให้กับตัวแปร (ไม่บังคับ)

ชนิดข้อมูลพื้นฐานใน TypeScript ได้แก่

Boolean

  • เป็นชนิดข้อมูลที่มีค่าได้เพียงสองค่าเท่านั้น คือ true หรือ false ใช้สำหรับแทนค่าความจริง เช่น สถานะ, เงื่อนไข หรือผลลัพธ์ของการเปรียบเทียบ

  • ตัวอย่างการประกาศตัวแปร Boolean:

    const isReady: boolean = true;
    let hasPermission: boolean = false;

Number

  • เป็นชนิดข้อมูลที่ใช้แทนค่าตัวเลข ทั้งจำนวนเต็ม (integers) และจำนวนจริง (floating-point numbers) ใช้สำหรับการคำนวณทางคณิตศาสตร์ต่างๆ

  • ตัวอย่างการประกาศตัวแปร Number:

    const count: number = 10;
    let price: number = 9.99;

String

  • เป็นชนิดข้อมูลที่ใช้แทนข้อความ (text) ใช้สำหรับเก็บและจัดการกับข้อมูลข้อความในโปรแกรม

  • ตัวอย่างการประกาศตัวแปร String:

    const name: string = "John";
    let description: string = "This is a description";

Array

  • เป็นชนิดข้อมูลที่ใช้จัดเก็บชุดของค่าที่มีชนิดเดียวกันไว้ในตัวแปรเดียว เป็นโครงสร้างข้อมูลที่ใช้กันอย่างแพร่หลายในการจัดการกลุ่มของข้อมูล

  • ตัวอย่างการประกาศตัวแปร Array:

    const numbers: number[] = [1, 2, 3, 4, 5];
    let names: Array<string> = ["Alice", "Bob", "Charlie"];

Tuple

  • เป็นชนิดข้อมูลที่ใช้จัดเก็บชุดของค่าที่มีชนิดต่างกันไว้ในตัวแปรเดียว โดยที่ตำแหน่งและชนิดของค่าในแต่ละตำแหน่งถูกกำหนดไว้ล่วงหน้า

  • ตัวอย่างการประกาศตัวแปร Tuple:

    const coordinates: [number, number] = [10, 20];
    let userData: [string, number, boolean] = ["John", 25, true];

Enum

  • เป็นชนิดข้อมูลที่ใช้จัดกลุ่มค่าคงที่ที่เกี่ยวข้องกัน เพื่อให้โค้ดมีความชัดเจนและอ่านง่ายขึ้น

  • Enum มีโครงสร้างดังนี้:

    enum EnumName {
      Member1 = value1,
      Member2 = value2,
      ...
    }
  • ตัวอย่างการประกาศตัวแปร Enum:

    enum Direction {
      Up = "UP",
      Down = "DOWN",
      Left = "LEFT",
      Right = "RIGHT",
    }
    const moveDirection: Direction = Direction.Up;

Any

  • เป็นชนิดข้อมูลพิเศษที่ใช้เมื่อเราไม่ทราบชนิดของข้อมูลล่วงหน้าหรือต้องการใช้งานข้อมูลที่มีชนิดไม่แน่นอน โดยตัวแปรที่เป็นชนิด Any สามารถเก็บค่าได้ทุกชนิดและสามารถเปลี่ยนชนิดข้อมูลได้ในภายหลัง

  • ตัวอย่างการประกาศตัวแปร Any:

    let someValue: any = 10;
    someValue = "Now it's a string";
    someValue = true;

Void

  • เป็นชนิดข้อมูลที่ใช้เมื่อฟังก์ชันไม่มีการส่งค่ากลับ หรือเมื่อต้องการระบุว่าฟังก์ชันไม่ส่งค่ากลับใดๆ

  • ตัวอย่างการประกาศฟังก์ชันที่ไม่มีการส่งค่ากลับ:

    function logMessage(message: string): void {
      console.log(message);
    }

Null และ Undefined

  • เป็นชนิดข้อมูลพิเศษที่ใช้แทนค่าที่ไม่มีหรือยังไม่ถูกกำหนด โดย Null ใช้เมื่อต้องการระบุว่าตัวแปรมีค่าเป็น null ส่วน Undefined ใช้เมื่อตัวแปรยังไม่ถูกกำหนดค่าหรือไม่มีค่า

  • ตัวอย่างการประกาศตัวแปร Null และ Undefined:

    const nullValue: null = null;
    let undefinedValue: undefined = undefined;

Never

  • เป็นชนิดข้อมูลที่ใช้แทนค่าที่ไม่มีทางเป็นไปได้ เช่น ฟังก์ชันที่ไม่มีทางทำงานจนจบ หรือฟังก์ชันที่ต้องการสิ้นสุดการทำงานของโปรแกรมเสมอ

  • ตัวอย่างการประกาศฟังก์ชันที่มีการ throw error หรือวนลูปไม่รู้จบ:

    function throwError(message: string): never {
      throw new Error(message);
    }

Object

  • เป็นชนิดข้อมูลที่ใช้แทนค่าของออบเจ็กต์ที่ไม่ใช่ Primitive types (number, string, boolean, symbol, null, หรือ undefined) โดยตัวแปรชนิด Object สามารถเก็บค่าได้หลายชนิด และสามารถเข้าถึงและแก้ไขค่าของ Property ภายในออบเจ็กต์ได้

  • ตัวอย่างการประกาศตัวแปร Object:

    const person: object = {
      name: "John",
      age: 30,
    };

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

Last updated