in 运算符 检查属性是否存在
最后更新:2026-09-09
in 运算符 检查属性是否存在
in 检查对象是否有某个属性(包括原型链上的)。配合 Object.hasOwn 区分自身属性和继承属性。
| 分类 | 运算符 |
|---|---|
| ES 版本 | ES1 |
📝 语法
"属性名" in 对象;
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
true
false
true
true
false
⚠️ 警告 in 会检查原型链——只检查自身属性用 Object.hasOwn()。
ℹ️ info in 对数组检查的是下标而不是值——判断值是否存在用 includes。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| in 运算符 | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关运算符
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qin 和 Object.hasOwn 的区别?
Ain 包含原型链上的属性;Object.hasOwn 只检查自身属性。
Qin 对数组检查的是什么?
A检查下标(键),不是值。判断值用 includes。
Qin 能检查 Symbol 属性吗?
A能——Symbol 属性也可以用 in 检查。