ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก
ชนิดพื้นฐานกับออบเจ็กต์ ชนิดพื้นฐานทั้งเจ็ด การตรวจสอบ typeof อย่างรวดเร็ว และข้อผิดพลาดที่พบบ่อยสำหรับผู้เริ่มต้น
ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำ
เป้าหมาย: แยกแยะ ชนิดข้อมูลพื้นฐานจาก ออบเจ็กต์ และรู้จักชนิดข้อมูลพื้นฐานทั้งเจ็ดชนิดด้วยการตรวจสอบอย่างรวดเร็ว
- ชนิดข้อมูลพื้นฐานเจ็ดชนิด
- ออบเจ็กต์เทียบกับตัวห่อหุ้ม
- สำรวจการตรวจชนิดข้อมูล

ชนิดข้อมูลพื้นฐานเจ็ดชนิด: สำรวจการตรวจชนิดข้อมูล
JavaScript มีชนิดข้อมูลพื้นฐาน 7 ชนิด: ตัวเลข, จำนวนเต็มขนาดใหญ่, ข้อความ, ค่าจริงเท็จ, ค่าว่าง, ค่าไม่ได้กำหนด และสัญลักษณ์
// Seven primitives and typeof
const n = 42;
// number
const bi = 42n;
// bigint
const s = "hello";
// string
const b = true;
// boolean
const u = undefined;
// undefined
const nl = null;
// null (primitive)
const sy = Symbol("id");
// symbol (unique each time)
console.log(typeof n, typeof bi, typeof s, typeof b);
console.log(typeof u, typeof nl, typeof sy);
// Note: typeof null is "object" (historical quirk)

ชนิดข้อมูลพื้นฐานเทียบกับออบเจ็กต์
ชนิดข้อมูลพื้นฐานคือค่า single ที่เปลี่ยนแปลงไม่ได้ ส่วนออบเจ็กต์เก็บคุณสมบัติและเปรียบเทียบกันด้วยการอ้างอิง (อาร์เรย์ ฟังก์ชัน และวันที่ล้วนเป็นออบเจ็กต์)
- ชนิดข้อมูลพื้นฐานเปรียบเทียบกันด้วยค่า
- ออบเจ็กต์สามารถเพิ่มข้อมูลและเปลี่ยนแปลงได้

ข้อควรระวังของออบเจ็กต์ตัวห่อหุ้ม
ควรใช้ค่าตามตัวอักษร (เช่น "hello") แทนตัวห่อหุ้ม (สร้างข้อความใหม่, สร้างตัวเลขใหม่, สร้างค่าจริงเท็จใหม่)
// Avoid wrapper constructors for primitives
const s1 = "hi";
// primitive string
const s2 = new String("hi");
// String object (wrapper)
console.log(typeof s1);
// "string"
console.log(typeof s2);
// "object"
console.log(s1 === "hi");
// true (value compare)
console.log(s2 === "hi");
// false (object vs primitive)

พื้นฐาน BigInt และสัญลักษณ์
BigIntจัดการจำนวนเต็มขนาดใหญ่มาก ส่วนสัญลักษณ์ใช้สร้าง key ที่ไม่ซ้ำกันสำหรับออบเจ็กต์
// BigInt: integers beyond Number.MAX_SAFE_INTEGER
const big = 9007199254740993n;
// 2^53 + 1
console.log(big + 7n);
// Symbol: unique identifiers
const a = Symbol("token");
const b = Symbol("token");
console.log(a === b);
// false — symbols are always unique

null เทียบกับค่าที่ไม่ได้กำหนด
ค่าที่ไม่ได้กำหนด: ประกาศแล้วแต่ยังไม่ได้กำหนดค่า ค่าว่าง: “ไม่มีค่า” ที่กำหนดไว้อย่างชัดเจน คำแนะนำ: การตรวจชนิดของค่าว่างส่งคืนค่า "ออบเจ็กต์" (เป็นพฤติกรรมตกค้าง) แต่ค่าว่างยังคงเป็นชนิดข้อมูลพื้นฐาน

แบบทดสอบการตรวจชนิดของค่าว่าง
ตรวจสอบอย่างรวดเร็ว: การตรวจชนิดของค่าว่างให้ผลอย่างไร

สรุปทบทวน
สรุปทบทวน: คุณได้ระบุชนิดข้อมูลพื้นฐานทั้งเจ็ดชนิด เปรียบเทียบกับออบเจ็กต์ หลีกเลี่ยงข้อควรระวังของตัวห่อหุ้ม และเรียนรู้พฤติกรรมของการตรวจชนิดค่าว่าง

คำถามที่พบบ่อย
บทเรียน “ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก”
ชนิดพื้นฐานกับออบเจ็กต์ ชนิดพื้นฐานทั้งเจ็ด การตรวจสอบ typeof อย่างรวดเร็ว และข้อผิดพลาดที่พบบ่อยสำหรับผู้เริ่มต้น คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ชนิดพื้นฐานกับออบเจ็กต์ และชนิดหลัก
- typeof ค่าจริง/เท็จ และ == กับ ===
- การบังคับชนิด: รูปแบบปลอดภัยเพื่อหลีกเลี่ยงความประหลาดใจ