Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

JavaScript Map vs Object — Điểm khác biệt và khi nào dùng?

Theo MDN Docs:

Đối tượng Map chứa các cặp key-value và ghi nhớ thứ tự chèn ban đầu của các key. Bất kỳ giá trị nào (cả object và giá trị nguyên thủy) đều có thể dùng làm key hoặc value.

Điều quan trọng cần lưu ý là object cũng có thể dùng làm key trong Map. Điều này không xảy ra với object JavaScript thông thường. Object JS chỉ cho phép nguyên thủy làm key.

Một tính năng hữu ích khác là Map có thể lặp (iterable). Và nó lặp theo thứ tự chèn. Vì vậy, trong các trường hợp bạn cần giữ thứ tự key cũng như có giá trị liên kết, Map có thể sử dụng.

Ví dụ

Ví dụ sử dụng Map:

const myMap = new Map();
const keyString = 'a string',
const keyObj = {},
const keyFunc = function() {};
// thiết lập giá trị với mọi loại key
myMap.set(keyString, "String Val");
myMap.set(keyObj, 'Object val');
myMap.set(keyFunc, 'function val');
console.log(myMap.size);
console.log(myMap.get(keyString));

Kết quả

Đoạn mã trên sẽ xuất ra:

3
String Val