Ký hiệu toàn cầu trong JavaScript
Với phương thức Symbol.for
bạn có thể tạo các ký hiệu có tên.
Các ký hiệu này sẽ được lưu trong
đăng ký ký hiệu toàn cầu
và có thể truy cập chúng
từ bất kỳ đâu trong mã.
Hãy xem cách thức hoạt động của nó. Trong một hàm, hãy tạo một ký hiệu:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Bây giờ trong một hàm khác, hãy lấy quyền truy cập vào ký hiệu này theo tên của nó:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Hãy kiểm tra xem cả hai hàm có chứa cùng một ký hiệu hay không. Gọi các hàm của chúng ta:
let sym1 = func1();
let sym2 = func2();
So sánh các ký hiệu:
console.log(sym1 === sym2); // true
Giả sử bạn có một số đối tượng.
Thêm cho mỗi đối tượng một khóa dưới dạng
ký hiệu có tên 'sum'.
Tạo trong khóa này một hàm,
sẽ trả về tổng
các phần tử của đối tượng.