Collection WeakMap trong ES6 - Javascript nâng cao
WeakMap là một loại kiểu dữ liệu giống như Map vậy, nghĩa là sẽ tồn tại hai tham số key => value cho mỗi phần tử. Tuy nhiên với WeakMap thì key truyền vào phải là một biến và biến này phải là một Object (class, function, object), con với Map thì bạn có thể thiết lập key là chuỗi, number, object ...
WeakMap là một loại kiểu dữ liệu giống như Map
vậy, nghĩa là sẽ tồn tại hai tham số key => value
cho mỗi phần tử. Tuy nhiên với WeakMap thì key truyền vào phải là một biến và biến này phải là một Object (class, function, object), con với Map thì bạn có thể thiết lập key là chuỗi, number, object đều được.
1. WeakMap trong ES6
WeakMap cũng có một số phương thức tương tự Map
như:
- Khởi tạo
- Thêm phần tử
- Lấy giá trị phần tử
- Xóa phần tử
- Kiểm tra phần tử tồn tại
Ví dụ: Một ví dụ tổng hợp các thao tác trên.
// Khởi tạo var weak = new WeakMap(); // Danh sách key var key1 = {}; var key2 = {}; // Thêm phần tử weak.set(key1, "Giá trị 01"); weak.set(key2, "Giá trị 02"); // Lấy giá trị console.log(weak.get(key1)); // Giá trị 01 console.log(weak.get(key2)); // Giá trị 02 // Kiểm tra tồn tại var other_key = {}; console.log(weak.has(key1)); // true console.log(weak.has(other_key)); // false // Xóa phần tử weak.delete(key1); console.log(weak.get(key1)); // Undefined
2. Lời kết
Về phần WeakMap
thì không có gì nhiều để trình bày. Kiểu dữ liệu này thường dùng để tạo các dữ liệu dạng private trong class (sẽ học sau), vì vậy với dữ liệu thông thường thì ta nên chọn Map hoặc Set để lưu trữ.
Bài này mình xin ngừng bút tại đây, cám ơn các bạn đã theo dõi series này của mình.