map的get()方法根据键获取值,键不存在时返回undefined而不报错;支持任意类型键(需严格相等),对象键依赖引用一致性;区分“键不存在”与“值为undefined”应配合has()使用。

JavaScript 中 Map 的 get() 方法用于根据键(key)获取对应的值(value),如果键不存在,返回 undefined,不会报错。
基本用法:传入键,返回对应值
get() 接收一个参数——你要查找的键。这个键可以是任意类型(字符串、数字、对象、Symbol 等),只要和插入时使用的键严格相等(=== 判断)就能匹配。
-
字符串键:
map.get("name") -
数字键:
map.get(42) -
对象键:
map.get(obj)(注意:必须是同一个引用的对象) -
Symbol 键:
map.get(sym)
键不存在时返回 undefined,不抛错
这是和普通对象属性访问(obj.key)或 Object.prototype.hasOwnProperty() 的重要区别:即使键不存在,get() 也安全返回 undefined,不会触发错误或 undefined.property 类型问题。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
const map = new Map([["a", 1], ["b", 2]]);
console.log(map.get("c")); // undefined
console.log(map.get("a")); // 1
判断键是否存在:用 has() 配合 get()
如果你需要区分“键存在但值为 undefined”和“键根本不存在”,不能单靠 get() 返回值判断,因为两者都返回 undefined。这时应先用 has(key) 检查键是否存在:
-
map.has("key")返回true或false - 再调用
map.get("key")获取值,逻辑更清晰可靠
对象作为键时要注意引用一致性
Map 支持对象作键,但比较的是引用地址,不是内容。新建一个同结构对象 ≠ 原来的键。
const obj = { id: 1 };
const map = new Map([[obj, "data"]]);
console.log(map.get(obj)); // "data" ✅
console.log(map.get({ id: 1 })); // undefined ❌(新对象,不同引用)Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










