Sự khác biệt giữa Map và WeakMap trong Javascript là gì?
Sự khác biệt giữa Map và WeakMap trong Javascript là gì?
Trong ECMAScript 6 (ES6), Map và WeakMap là hai cấu trúc dữ liệu mới được giới thiệu để lưu trữ cặp khóa-giá trị. Mặc dù cả hai đều lưu trữ cặp khóa-giá trị, chúng có một số sự khác biệt quan trọng:
Map, khóa có thể là bất kỳ kiểu dữ liệu nào, bao gồm cả đối tượng, chuỗi, số, và các kiểu dữ liệu khác.Map là duyệt được, có nghĩa là bạn có thể lặp qua các phần tử của nó theo thứ tự chèn vào.Map thông qua thuộc tính size.Map có hiệu suất tốt trong việc thêm và xóa các phần tử.Map giữ các khóa với một tham chiếu mạnh, điều này có nghĩa là miễn là một khóa tồn tại trong Map, nó sẽ không được thu gom rác (garbage collected).WeakMap, khóa phải là một đối tượng. Không thể sử dụng các kiểu dữ liệu nguyên thủy như chuỗi hoặc số làm khóa.WeakMap không ...middle