หลุมพรางออบเจ็กต์และ JSON

อ่านคีย์ที่ไม่มี

ได้ undefined — การต่อโซ่ต่ออาจโยน error

JSON.parse สตริงไม่ใช่ JSON

ข้อความผิดรูปจะโยน error — ควรห่อด้วย try/catch เมื่อรับจากภายนอก (จะเน้นอีกครั้งในบท async)

// ผิดรูป: คีย์ไม่มีเครื่องหมายคำพูดใน JSON
// JSON.parse("{title: 'x'}"); // โยน Error

// ถูก
JSON.parse('{"title":"x"}');

สับสนออบเจ็กต์กับสตริง JSON

ถ้า typeof data === "string" จะใช้ data.title ไม่ได้จนกว่าจะ parse

เมื่อผลดูแปลก ให้ log ทั้งค่าและ typeof — แยก “ยังเป็นข้อความ” กับ “เป็นออบเจ็กต์แล้ว”