การสร้าง Symbol ที่ไม่ซ้ำกัน
สร้างค่าที่รับประกันว่าไม่ซ้ำกัน
การสร้าง Symbol ที่ไม่ซ้ำกัน เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
สัญลักษณ์คืออะไร
สัญลักษณ์เป็นชนิดพื้นฐานที่เพิ่มเข้ามาใน JavaScript สมัยใหม่ สัญลักษณ์ทุกตัวมีเอกลักษณ์เฉพาะตัว แม้ว่าสัญลักษณ์สองตัวจะมีคำอธิบายเหมือนกัน
const s = Symbol()
console.log(typeof s)การสร้างสัญลักษณ์
คุณสร้างสัญลักษณ์ได้โดยเรียกใช้ฟังก์ชันสัญลักษณ์ ฟังก์ชันนี้ไม่ใช่ตัวสร้างออบเจ็กต์ ดังนั้นจึงไม่ต้องใช้ตัวดำเนินการสร้างออบเจ็กต์ร่วมด้วย
const id = Symbol()
console.log(typeof id)คำอธิบายที่ไม่จำเป็นต้องระบุ
คุณสามารถส่งสตริงคำอธิบายเพื่อช่วยในการแก้ไขข้อผิดพลาดได้ คำอธิบายมีไว้เพื่อให้ข้อมูลเท่านั้น และไม่ส่งผลต่อความเป็นเอกลักษณ์
const id = Symbol("user id")
console.log(id.description)สัญลักษณ์ทุกตัวมีเอกลักษณ์
สัญลักษณ์สองตัวไม่มีทางเท่ากัน แม้จะมีคำอธิบายเหมือนกัน ความเป็นเอกลักษณ์ที่รับประกันได้นี้คือคุณสมบัติสำคัญของสัญลักษณ์
const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)ไม่มีคำสำคัญสำหรับสร้างออบเจ็กต์
การเรียกฟังก์ชันสัญลักษณ์ด้วยตัวดำเนินการสร้างออบเจ็กต์จะทำให้เกิดข้อผิดพลาด เพราะสัญลักษณ์เป็นชนิดพื้นฐาน ไม่ใช่ออบเจ็กต์ ควรเรียกใช้เป็นฟังก์ชันธรรมดาเสมอ
const s = Symbol("ok")
console.log(typeof s === "symbol")สัญลักษณ์เป็นชนิดพื้นฐาน
ชนิดของสัญลักษณ์คือสตริงที่หมายถึงสัญลักษณ์ เช่นเดียวกับชนิดพื้นฐานอื่น ๆ สัญลักษณ์ไม่สามารถเปลี่ยนแปลงได้และไม่มีคุณสมบัติให้แก้ไข
const s = Symbol("p")
console.log(typeof s)การอ่านคำอธิบาย
คุณสมบัติคำอธิบายจะคืนข้อความที่คุณระบุไว้ หรือคืนค่าไม่กำหนดหากไม่ได้ระบุคำอธิบาย คุณสมบัตินี้อ่านได้อย่างเดียว
const named = Symbol("hello")
const anon = Symbol()
console.log(named.description)
console.log(anon.description)สัญลักษณ์ไม่สามารถแปลงเป็นข้อความโดยอัตโนมัติ
สัญลักษณ์จะไม่แปลงเป็นข้อความโดยปริยาย จึงช่วยป้องกันการนำไปใช้ผิดโดยไม่ตั้งใจ หากต้องการอ่านข้อความอย่างชัดเจน ให้ใช้ฟังก์ชันแปลงเป็นข้อความหรือ toString
const s = Symbol("tag")
console.log(String(s))
console.log(s.toString())การใช้สัญลักษณ์เป็นค่าคงที่
สัญลักษณ์เหมาะอย่างยิ่งสำหรับใช้เป็นค่าคงที่ที่ไม่ซ้ำกัน เช่น ใช้แทน states ที่แตกต่างกันและไม่มีทางชนกัน
const RED = Symbol("red")
const GREEN = Symbol("green")
console.log(RED === GREEN)การจัดเก็บสัญลักษณ์
คุณสามารถจัดเก็บสัญลักษณ์ไว้ในตัวแปร อาร์เรย์ และใช้เป็นค่าภายในออบเจ็กต์ได้ ความไม่ซ้ำกันของสัญลักษณ์จะติดไปกับค่านั้น
const states = [Symbol("on"), Symbol("off")]
console.log(states.length)
console.log(states[0] === states[1])เหตุผลที่ความไม่ซ้ำกันสำคัญ
เนื่องจากไม่มีสัญลักษณ์สองตัวใดชนกัน สัญลักษณ์จึงเหมาะอย่างยิ่งสำหรับ key ที่ต้องไม่ชนกับโค้ดส่วนอื่น ซึ่งเราจะศึกษาในบทเรียนถัดไป
const key1 = Symbol("meta")
const key2 = Symbol("meta")
const obj = {}
obj[key1] = "a"
obj[key2] = "b"
console.log(obj[key1], obj[key2])ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับการสร้างสัญลักษณ์
สรุปทบทวน
สรุปทบทวน: สัญลักษณ์เป็นค่าพื้นฐานที่ไม่ซ้ำกัน
- สร้างโดยเรียกใช้สัญลักษณ์ ไม่ใช่ด้วยคำสั่งสร้างใหม่
- คำอธิบายที่ใส่หรือไม่ใส่ก็ได้ช่วยเฉพาะการแก้ไขข้อผิดพลาดเท่านั้น
- สัญลักษณ์ทุกตัวไม่ซ้ำกัน
- ชนิดของสัญลักษณ์คือชนิดสัญลักษณ์
const a = Symbol("x")
const b = Symbol("x")
console.log(a === b)คำถามที่พบบ่อย
บทเรียน “การสร้าง Symbol ที่ไม่ซ้ำกัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้าง Symbol ที่ไม่ซ้ำกัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้าง Symbol ที่ไม่ซ้ำกัน”
สร้างค่าที่รับประกันว่าไม่ซ้ำกัน คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้าง Symbol ที่ไม่ซ้ำกัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้าง Symbol ที่ไม่ซ้ำกัน
- การใช้ Symbol เป็นคีย์ของออบเจ็กต์
- รีจิสทรี Symbol ส่วนกลาง
- Symbol ที่รู้จักกันดี