Map
的键可以是任何数据类型,包括对象、函数、原始类型等。
1. 原始类型作为键:
let primitiveKeyMap = new Map();
primitiveKeyMap.set(1, 'One'); // 数字作为键
primitiveKeyMap.set('name', 'Alice'); // 字符串作为键
primitiveKeyMap.set(true, 'True'); // 布尔值作为键
primitiveKeyMap.set(null, 'Null'); // null 作为键
primitiveKeyMap.set(undefined, 'Undefined'); // undefined 作为键console.log(primitiveKeyMap.get(1)); // 输出 'One'
console.log(primitiveKeyMap.get('name')); // 输出 'Alice'
2. 对象作为键:
let objKeyMap = new Map();
let keyObj = { id: 1 };
objKeyMap.set(keyObj, 'Value for keyObj');console.log(objKeyMap.get(keyObj)); // 输出 'Value for keyObj'
3. 函数作为键:
let funcKeyMap = new Map();
let keyFunc = function() { return 'keyFunc'; };
funcKeyMap.set(keyFunc, 'Value for keyFunc');console.log(funcKeyMap.get(keyFunc)); // 输出 'Value for keyFunc'
4. Symbol 作为键:
let symbolKeyMap = new Map();
const keySymbol = Symbol('keySymbol');
symbolKeyMap.set(keySymbol, 'Value for keySymbol');console.log(symbolKeyMap.get(keySymbol)); // 输出 'Value for keySymbol'
5. NaN 作为键:
let nanKeyMap = new Map();
nanKeyMap.set(NaN, 'Value for NaN');console.log(nanKeyMap.get(NaN)); // 输出 'Value for NaN'