สัญลักษณ์ทั่วโลกใน JavaScript
ด้วยเมธอด Symbol.for
คุณสามารถสร้างสัญลักษณ์ที่มีชื่อได้
สัญลักษณ์เหล่านี้จะถูกบันทึกไว้ใน
ทะเบียนสัญลักษณ์ทั่วโลก
และสามารถเข้าถึงได้
จากทุกส่วนของโค้ด
มาดูกันว่ามันทำงานอย่างไร ในฟังก์ชันหนึ่ง เรามาสร้างสัญลักษณ์:
function func1() {
let sym = Symbol.for('test');
return sym;
}
ตอนนี้ในอีกฟังก์ชันหนึ่ง เราจะได้ เข้าถึงสัญลักษณ์นี้โดยใช้ ชื่อของมัน:
function func2() {
let sym = Symbol.for('test');
return sym;
}
มาตรวจสอบว่าฟังก์ชันทั้งสองมี สัญลักษณ์เดียวกันจริงหรือไม่ เรียกใช้ ฟังก์ชันของเรา:
let sym1 = func1();
let sym2 = func2();
เปรียบเทียบสัญลักษณ์:
console.log(sym1 === sym2); // true
สมมติว่าคุณมีวัตถุหลายชิ้น
เพิ่มคีย์ในรูปแบบ
สัญลักษณ์ชื่อ 'sum' ให้กับแต่ละชิ้น
สร้างฟังก์ชันในคีย์นี้
ที่จะคืนค่าผลรวม
ขององค์ประกอบวัตถุ