การวนลูปอ็อบเจ็กต์ด้วย Symbol ใน JavaScript
ข้อได้เปรียบของประเภท Symbol ในฐานะ
คีย์ของอ็อบเจ็กต์คือ คีย์ดังกล่าว
จะไม่เข้าร่วมในการวนลูปด้วยวงจร
มาดูตัวอย่างกัน สมมติว่าเรามีอ็อบเจ็กต์ต่อไปนี้:
let obj = {a: 1, b: 2, c: 3};
เพิ่มองค์ประกอบใหม่ลงในอ็อบเจ็กต์นี้ ด้วยคีย์จาก Symbol:
let sym = Symbol();
obj[sym] = 'text';
วนลูปอ็อบเจ็กต์นี้ด้วยวงจร ผลลัพธ์ที่เราเห็นคือทั้งหมด องค์ประกอบ ยกเว้นองค์ประกอบของเราที่มีคีย์ จาก Symbol:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
สร้างอ็อบเจ็กต์ที่มีคีย์จาก Symbol วนลูปมันด้วยวงจร ตรวจสอบว่า Symbol ไม่ได้เข้าร่วมในการวนลูป