คอร์ส IT พื้นฐาน JavaScript 038_ชนิดข้อมูล
ใน JavaScript ชนิดข้อมูลใช้เพื่อแสดงข้อมูลประเภทต่างๆ เช่น ตัวเลข สตริง ค่าบูลีน เป็นต้น ชนิดข้อมูลใน JavaScript แบ่งออกเป็นสองประเภทใหญ่: ชนิดข้อมูลพื้นฐานและชนิดข้อมูลออบเจ็กต์
ชนิดข้อมูลพื้นฐาน
ค่าของชนิดข้อมูลพื้นฐานมีเนื้อหาเดียวเท่านั้น (สตริง ตัวเลข หรืออื่นๆ)
Number (ตัวเลข)
ใช้เพื่อแสดงตัวเลข รวมทั้งจำนวนเต็มและจำนวนทศนิยม ตัวอย่าง: 5, 3.14, -10
ตัวเลขสามารถมีการดำเนินการมากมาย เช่น การคูณ * การหาร / การบวก + การลบ - เป็นต้น
นอกจากตัวเลขปกติแล้ว ยังรวมถึงที่เรียกว่า “ค่าตัวเลขพิเศษ” ที่เป็นชนิดนี้ด้วย: Infinity, -Infinity และ NaN
ชนิด Number เป็นชนิดทศนิยม อาจมีปัญหาความแม่นยำเมื่อทำการคำนวณที่แม่นยำ เช่น: 0.1 + 0.2
สามารถแปลงสตริงเป็นจำนวนเต็มผ่านเมธอด parseInt() และแปลงสตริงเป็นจำนวนทศนิยมผ่านเมธอด parseFloat()
ตัวอย่าง:
let age = 25;console.log(0.1 + 0.2); // แสดงผล 0.30000000000000004let result = 0.1 * 10 + 0.2 * 10;result = result / 10; // แปลงผลลัพธ์กลับเป็นทศนิยมconsole.log(result); // แสดงผล 0.3BigInt (จำนวนเต็มขนาดใหญ่)
ชนิดข้อมูลที่แสดงจำนวนเต็มความแม่นยำตามต้องการ (สำหรับข้อจำกัดขนาดหน่วยความจำ) อนุญาตให้คุณแสดงค่าจำนวนเต็มในช่วงที่กว้างกว่าชนิด Number โดยไม่สูญเสียความแม่นยำ ใช้ต่อท้าย n หรือเรียกใช้ตัวสร้าง BigInt() เพื่อสร้าง BigInt
จัดการกับค่าจำนวนเต็มที่เกินช่วงของ Number ไม่สามารถใช้ผสมกับจำนวนเต็มปกติ ไม่สามารถแปลงผ่าน parseInt() หรือ parseFloat()
ตัวอย่าง:
let bigIntLiteral = 123n;let bigIntObject = BigInt(456);String (สตริง)
ใช้เพื่อแสดงข้อมูลข้อความ สตริงประกอบด้วยชุดของอักขระและสามารถมีตัวอักษร ตัวเลข สัญลักษณ์ เป็นต้น ตัวอย่าง: “Hello, World!”, “สวัสดี”, ‘123’
สตริงต้องอยู่ในเครื่องหมายคำพูด รวมถึง: เครื่องหมายคำพูดเดี่ยว 'Hello' เครื่องหมายคำพูดคู่ "Hello" เครื่องหมายคำพูดย้อนกลับ `Hello` เครื่องหมายคำพูดเดี่ยวและคู่เป็นคำพูด “ธรรมดา” เครื่องหมายคำพูดย้อนกลับเป็นคำพูดที่มีการขยายฟังก์ชัน สามารถอ้างอิงตัวแปรโดยตรงผ่านวิธี ${…} และรักษารูปแบบข้อความ
อักขระขึ้นบรรทัดใหม่ \n อักขระแท็บ \t แบ็กสแลชเอง \\ เครื่องหมายคำพูดเดี่ยว \' และเครื่องหมายคำพูดคู่ \" อักขระ carriage return \r
ตัวอย่าง:
let text = "Hello, World!";Boolean (บูลีน)
ใช้เพื่อแสดงค่าตรรกะ มีเพียงสองค่าที่เป็นไปได้: true หรือ false
ตัวอย่าง:
let isStudent = true;Undefined (ไม่ได้กำหนด)
ใช้เพื่อแสดงตัวแปรที่ไม่ได้เริ่มต้น ไม่ได้กำหนด ไม่ได้กำหนดค่า หรือฟังก์ชันที่ไม่มีค่าพารามิเตอร์
ตัวอย่าง:
let undefinedVar;alert(undefinedVar);Null (ค่าว่าง)
ใช้เพื่อแสดงค่าพิเศษหรือค่าออบเจ็กต์ที่ไม่มีอยู่ที่หมายถึง “ไม่มีอะไร” “ว่างเปล่า” หรือ “ค่าที่ไม่ทราบ”
ตัวอย่าง:
let nullValue = null;Symbol (สัญลักษณ์)
ใช้เพื่อสร้างตัวระบุที่ไม่ซ้ำและไม่เปลี่ยนแปลง มักใช้เพื่อกำหนดคุณสมบัติส่วนตัวของออบเจ็กต์ สร้างค่าคงที่ที่ไม่ซ้ำ หรือเป็นตัวระบุสำหรับพฤติกรรมพิเศษ สัญลักษณ์แต่ละตัวที่สร้างผ่าน Symbol ไม่ซ้ำกัน แม้ว่าจะมีคำอธิบายเดียวกันก็ยังแตกต่างกัน
ตัวอย่าง:
const symbol1 = Symbol();const symbol2 = Symbol();console.log(symbol1 === symbol2); // แสดงผล false, Symbol แต่ละตัวไม่ซ้ำกันชนิดข้อมูลออบเจ็กต์
สามารถใช้เพื่อจัดเก็บคอลเลกชันข้อมูลหรือเนื้อหาที่ซับซ้อนกว่า
Object (ออบเจ็กต์)
ใช้เพื่อจัดเก็บคู่คีย์-ค่า หรือความสัมพันธ์การแมปของคุณสมบัติและค่าคุณสมบัติ ออบเจ็กต์สามารถมีค่าของชนิดข้อมูลต่างๆ รวมถึงตัวเลข สตริง ค่าบูลีน อาร์เรย์ ออบเจ็กต์อื่นๆ เป็นต้น
ตัวอย่าง:
let person = { name: "Alice", age: 30, isStudent: false};Array (อาร์เรย์)
อาร์เรย์เป็นโครงสร้างข้อมูลที่เรียงลำดับและเปลี่ยนแปลงได้ ใช้เพื่อจัดเก็บกลุ่มของค่า อาร์เรย์สามารถมีองค์ประกอบของชนิดข้อมูลต่างๆ และแต่ละองค์ประกอบมีดัชนีที่สอดคล้องกัน
ตัวอย่าง:
let numbers = [1, 2, 3, 4, 5];Function (ฟังก์ชัน)
ฟังก์ชันเป็นบลอกโค้ดที่สามารถนำกลับมาใช้ได้ สามารถรับพารามิเตอร์อินพุต ดำเนินการชุดหนึ่ง และส่งกลับผลลัพธ์ ฟังก์ชันเป็นพลเมืองชั้นหนึ่งใน JavaScript สามารถกำหนดให้กับตัวแปร ส่งเป็นพารามิเตอร์ไปยังฟังก์ชันอื่น และยังสามารถเป็นค่าที่ส่งกลับของฟังก์ชันอื่นได้
ตัวอย่าง:
function greet(name) { console.log("Hello, " + name + "!");}greet("JavaScript");typeof
typeof เป็นตัวดำเนินการใน JavaScript ที่ใช้เพื่อรับชนิดของตัวแปรที่กำหนด (ดังนั้นจึงไม่จำเป็นต้องเพิ่มวงเล็บใน typeof) มันจะส่งกลับสตริงที่แสดงชนิดของตัวแปร
ตัวอย่าง:
let undefinedVariable;let booleanVariable = true;let numberVariable = 42;let stringVariable = "Hello";let objectVariable = { key: "value" };let functionVariable = function() {};let symbolVariable = Symbol("mySymbol");let nullVariable = null;
console.log(typeof undefinedVariable); // แสดงผล "undefined"console.log(typeof booleanVariable); // แสดงผล "boolean"console.log(typeof numberVariable); // แสดงผล "number"console.log(typeof stringVariable); // แสดงผล "string"console.log(typeof objectVariable); // แสดงผล "object"console.log(typeof functionVariable); // แสดงผล "function"console.log(typeof symbolVariable); // แสดงผล "symbol"console.log(typeof nullVariable); // แสดงผล "object"การใช้ typeof x, x จะส่งกลับชนิดของตัวแปรและค่าของตัวแปรตามลำดับ ดำเนินการ typeof x ก่อน จากนั้นดำเนินการ x และแสดงผลทั้งสองค่า
ตัวอย่าง:
let x = 42;console.log(typeof x, x);typeof xส่งกลับ “number” แสดงว่าชนิดของตัวแปรxเป็นตัวเลขxส่งกลับค่าของตัวแปรxคือ42