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 ...
随机推荐
- 嵌入式linux系统新人学习回顾
(1).开发环境搭建 1.虚拟机ubuntu 2.远程登录/远程传输/串口三合一软件MobaXterm 3.FTP传输工具FileZilla 4.TFTP服务器软件tftpd.exe (2)开发板硬件 ...
- 使用loadrunner运行中问题(无代码生成解决方法)
开始录制之后,不能成功录制,工具栏events一直是2,打开新网站不跳动,结束录制之后没有代码生成 进入软件,点击工具栏的录制,选择录制选项,将http高级如下设置 同时也要修改套接字,如下配置 当开 ...
- podman 入门实战
一入编程深似海,从此节操是路人. 最近使用podman,就想着写一篇总结性的笔记,以备后续参考.就如同写代码,不写注释,过了一段时间可能会想这是我写的吗?不会吧,还要理一下逻辑才能读懂,不利于后期维护 ...
- PHP微信三方平台-代公众号发起微信支付(jsAPI)
一.前期准备工作 1.微信公众号需要开通微信支付认证将获取的秘钥给三方平台 2.添加支付回调域名地址:填写三方平台域名地址即可(最多5个) 二.代码demo 1.完成支付类 <?php /** ...
- 升级pip报错ERROR: Could not install packages due to an OSError: [WinError 5]
今天在安装python第三方库时,提示pip需要升级,没有多想直接升级,结果报错: 1 ERROR: Could not install packages due to an OSError: [Wi ...
- 第三届材料化学与复合材料国际学术会议(MCCM 2022)
大会官网:http://www.meeting-mccm.org/ 大会时间:2022年12月16-18日 大会地点:中国-珠海 截稿日期:详情见官网(2022年10月14日) 接受/拒稿通知:投稿后 ...
- react抽离配置文件、配置@符号、调整src文件夹---配置scss、编写项目的页面结构、创建各个页面 src/views、开始路由、入口文件处修改代码、修改App.js布局文件、添加底部的导航布局、构建个人中心。。。声明式跳转路由、使用React UI库请求渲染首页数据、
1.回顾 2.react项目的配置 react默认创建的项目配置文件在 node_modules/react-scripts 文件夹内部 2.1 抽离配置文件 cnpm run eject cnpm ...
- 长达 1.7 万字的 explain 关键字指南!
当你的数据里只有几千几万,那么 SQL 优化并不会发挥太大价值,但当你的数据里去到了几百上千万,SQL 优化的价值就体现出来了!因此稍微有些经验的同学都知道,怎么让 MySQL 查询语句又快又好是一件 ...
- python线程之event事件
from threading import Thread, Event import time event = Event() def light(): print('红灯亮着,所有车都要等待') t ...
- 二进制安装Kubernetes(k8s)IPv4/IPv6双栈 v1.24.0
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 介绍 kubernetes二进制安装 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 和 1.24 ...