首页 > 编程语言 >JavaScript 如何判断一个对象中是否有某个属性?

JavaScript 如何判断一个对象中是否有某个属性?

时间:2022-11-15 14:55:36浏览次数:71  
标签:obj JavaScript Reflect 某个 Obj 方法 属性

今天讲讲,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')

 

标签:obj,JavaScript,Reflect,某个,Obj,方法,属性
From: https://www.cnblogs.com/liyunxi/p/16892412.html

相关文章

  • Javascript中字符串的instanceof String的结果
    如果是单纯的字符串赋给变量,虽然类型为string,但是instanceofString是false,并不是String对象,因为没有创建实例. 而这种new一个String实例则instanceof是属于String......
  • 比较两个实体属性值,返回一个map以有差异的属性名为key,value为一个Map分别存oldObject,
    1/**2*比较两个实体属性值,返回一个map以有差异的属性名为key,value为一个Map分别存oldObject,newObject此属性名的值3*4*@paramoldObjec......
  • 后端接口返回实体类属性为null直接过滤不返回
    问题:项目中,有时候实体类很多字段是不会用上的,返回给前端的时候有很多null,显得返回的报文十分臃肿解决办法:只需要在返回的实体类上面加上@JsonInclude(JsonInclude.Inclu......
  • 【AGC】远程配置如何传入自定义属性
    ​背景:现在AGC远程配置端侧服务提供的SDK支持传入自定义属性获取和更新云端配置数据了。下面将通过一个demo集成远程配置SDK来实现这一功能。 集成准备1.在AGC创建工......
  • JavaScript自定义数据类型判断函数
    functionjudgeType(ele){letres=typeofele;if(res==="object"){//短路表达式,第一个成立则返回第二个的值,第一个不成立,则返回第一个的值......
  • javaScript书写位置
    1.内部javaScript   直接写在html文件里,用script标签包住  规范:script标签写在</body>上面2.外部js:代码写在以.js结尾的文件里语法:通过scr......
  • Javascript的字符串不可变性
    JS的字符串不可变指的是字符串值是不变的,只是变量指向的地址变化了,重新在内存中开辟了空间.vara='111';vara='222';此时字符串'111'的空间依然存在内存中,重新开辟......
  • HTML+CSS+JavaScript实现tab切换栏
    HTML+CSS+JavaScript实现tab栏切换制作准备部分HTML部分:切换栏由一个列表组成每个内容写在分别一个div盒子里CSS部分:列表:去除序列点,给每个修改样式;内容:让整个内容......
  • javascript实现封装
    //构造函数functionDog(){ this.leg=4; this.bark=function(){ alert("汪汪"); }}//创建一个黑狗varhuzi=newDog();此处我们并没有完成面向对象的......
  • 如何在JavaScript中使用for循环
    前言循环允许我们通过循环数组或对象中的项并做一些事情,比如说打印它们,修改它们,或执行其他类型的任务或动作。JavaScript有各种各样的循环,for循环允许我们对一个集合(如数......