JavaScript 如何判断一个对象中是否有某个属性?
今天讲讲,JavaScript 如何判断一个对象中是否有某个属性?
我总结了5个方法:
方法1:
if(Obj[a]) {}
缺点:对于参数值为 undefined 和 0 的无效。
方法2:
if(a in Obj) {}
相比于方法1,如果你只是将一个属性的值赋值为 undefined 或者 0,而没有使用 delete 运算符删除它,则 in 运算仍然会返回true。
方法3:
Object.keys(obj).includes('a')
方法4:
静态方法 Reflect.has() 作用与 in 操作符 相同。
Reflect.has(obj, 'a')
参考链接:Reflect-MDN
方法5: 使用对象的 hasOwnProperty 方法
obj.hasOwnProperty('a')
JavaScript 如何判断一个对象中是否有某个属性?的更多相关文章
- JavaScript 判断对象中是否有某属性
判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式. 一.点( . )或者方括号( [ ] ) 通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回undefined. ...
- javascript 如何判断一个对象的类型
<!DOCTYPE html> <html> <head> </head> <body> <script type="tex ...
- javascript如何判断一个对象是否是窗口
<!DOCTYPE html> <html> <head> </head> <body> <script type="tex ...
- JavaScript 判断对象中是否有某属性的常用方法
一.点(.)或方框号([ ]) var obj = { test: '123' } obj.test obj['test'] 二.in 运算符 var obj = { test: '123' } te ...
- javascript,检测对象中是否存在某个属性
检测对象中属性的存在与否可以通过几种方法来判断. 1.使用in关键字. 该方法可以判断对象的自有属性和继承来的属性是否存在. var o={x:1}; "x" in o; //tr ...
- JS如何判断一个对象是否为空、是否有某个属性
一.js判断一个对象是否为空 方法一: let obj1 = {} let obj2 = {a:1} function empty(obj){ for (let key in obj){ return ...
- [转]JS如何判断一个对象是否为空、是否有某个属性
原文地址:https://www.cnblogs.com/crackedlove/p/10039105.html 一.js判断一个对象是否为空 方法一: let obj1 = {} let obj2 ...
- js switch判断 三目运算 while 及 属性操作
三 目运算:如var a = 10: var b= 12: c = a>b ?a:b; 若成立执行a否则执行b var isHide = true; 若用if判断语句如下 if(isHide) ...
- js中获取css样式属性值
关于js中style,currentStyle和getComputedStyle几个注意的地方 (1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.针对css ...
- js中判断一个对象的类型的种种方法
javascript中检测对象的类型的运算符有:typeof.constructor.instanceof. typeof:typeof是一个一元运算符,返回结果是一个说明运算数类型的字符串.如:&q ...
随机推荐
- [Unity移动端]gradle打包
建议先看一下这篇文章: https://linxinfa.blog.csdn.net/article/details/118553713?spm=1001.2101.3001.6650.10& ...
- 修改/编辑jar包
替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储. 解决(本文以升级ojdbc包为例): 使用jar命令解压jar包,在压缩包外重新替换jar ...
- gRPC之.Net6中的初步使用说明
1.介绍 GRPC是一个高性能.通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发,支持众多的开发语言,由Google开源. gRPC也是基于以下 ...
- 从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用
前言 随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了.其实并没有,只不过它从台前退居到了幕后.我们仍然可以在很多项目中看到它的身影,比如elementplus. ...
- 使用OpenOffice将office文件转为pdf
0.参考博客:https://blog.csdn.net/weixin_39468112/article/details/89203815 1.首先安装openOffice4.1 2.添加依赖 < ...
- 【OGF生成函数板子题】牛客编程巅峰赛S2第11场 C 挑选方案问题
upd 2022-01-26 我找到了个题集 牛客竞赛数学专题班生成函数I(线性递推关系.生成函数概念与公式推导.暴力计算) 目录 题目链接 题面 解题思路 AC代码 题目链接 https://ac. ...
- Skywalking搭建
因毕设前端太丑,所以后端要稍微搞的高大上一点才能忽悠住老师,所以分享一下搭建skywalking的步. 我是参考https://baijiahao.baidu.com/s?id=17211835411 ...
- rocketMq和kafka对比
为什么在RocketMQ和kafka中选型 在单机同步发送的场景下,Kafka>RocketMQ,Kafka的吞吐量高达17.3w/s,RocketMQ吞吐量在11.6w/s. kafka高性能 ...
- 浅谈Vue 2.x当中组件之间传值方式
一.父子之间传值 1. 父传子 :props <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 使用二进制方式安装Docker
长期使用安装工具进行安装docker,今天用二进制方式手动安装一下docker环境. 二进制包下载地址:https://download.docker.com/linux/static/stable/ ...