Bài 11: Collection WeakMap trong ES6

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.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.