Duyệt qua đối tượng với Symbol trong JavaScript
Lợi thế của kiểu Symbol khi làm
khóa của đối tượng là những khóa như vậy
sẽ không tham gia vào vòng lặp duyệt.
Hãy xem xét một ví dụ. Giả sử chúng ta có đối tượng sau:
let obj = {a: 1, b: 2, c: 3};
Thêm một phần tử mới vào đối tượng này với khóa là một Symbol:
let sym = Symbol();
obj[sym] = 'text';
Hãy duyệt qua đối tượng này bằng vòng lặp. Kết quả chúng ta sẽ thấy tất cả các phần tử, ngoại trừ phần tử với khóa là Symbol của chúng ta:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Tạo một đối tượng với khóa là Symbol. Duyệt qua nó bằng vòng lặp. Hãy chắc chắn rằng, Symbol không tham gia vào vòng lặp duyệt.