Map.clear() 是清空 Map 最直接高效的方式,无需参数、返回 undefined,原子性清空所有键值对且不改变实例本身;不同于重赋 new Map() 或 Object 手动清空。

Map.clear() 是 JavaScript 中清空 Map 对象最直接、最高效的方式,调用后会立即移除所有键值对,使 Map 变为空状态。
clear() 方法的基本用法
它不需要参数,也不返回任何值(返回 undefined),只负责清空内部存储:
- 语法简洁:直接在 Map 实例上调用
.clear() - 操作原子性:一次性移除全部条目,不存在部分清除的情况
- 不影响 Map 实例本身:Map 对象仍存在,可继续 set 新数据
实际使用示例
比如创建一个用户信息 Map 并清空:
const userMap = new Map();
userMap.set('name', 'Alice');
userMap.set('age', 30);
userMap.set('city', 'Beijing');
console.log(userMap.size); // 3
userMap.clear();
console.log(userMap.size); // 0
console.log(userMap.has('name')); // false
注意和常见误区
-
不是赋值为 new Map():写
userMap = new Map()是重新绑定变量,原引用可能还被其他地方持有;clear()真正清空原有实例 -
不触发迭代器缓存失效问题:已创建的
entries()、keys()等迭代器不受影响(它们基于调用时的状态) - 与 Object 的 {} 不同:Object 没有内置 clear 方法,需手动遍历或重赋值,而 Map 原生支持


















