สัญลักษณ์ทั่วโลกใน JavaScript

ด้วยเมธอด Symbol.for คุณสามารถสร้างสัญลักษณ์ที่มีชื่อได้ สัญลักษณ์เหล่านี้จะถูกบันทึกไว้ใน ทะเบียนสัญลักษณ์ทั่วโลก และสามารถเข้าถึงได้ จากทุกส่วนของโค้ด

มาดูกันว่ามันทำงานอย่างไร ในฟังก์ชันหนึ่ง เรามาสร้างสัญลักษณ์:

javascriptfunction func1() {
  let sym = Symbol.for('test');
  return sym;
}

ตอนนี้ในอีกฟังก์ชันหนึ่ง เราจะได้ เข้าถึงสัญลักษณ์นี้โดยใช้ ชื่อของมัน:

javascriptfunction func2() {
  let sym = Symbol.for('test');
  return sym;
}

มาตรวจสอบว่าฟังก์ชันทั้งสองมี สัญลักษณ์เดียวกันจริงหรือไม่ เรียกใช้ ฟังก์ชันของเรา:

javascriptlet sym1 = func1();
let sym2 = func2();

เปรียบเทียบสัญลักษณ์:

javascriptconsole.log(sym1 === sym2); // true
Задание 1

สมมติว่าคุณมีวัตถุหลายชิ้น เพิ่มคีย์ในรูปแบบ สัญลักษณ์ชื่อ 'sum' ให้กับแต่ละชิ้น สร้างฟังก์ชันในคีย์นี้ ที่จะคืนค่าผลรวม ขององค์ประกอบวัตถุ