判断对象是否存在某个属性
JavaScript判断对象是否存在某个属性或者方法,常用方法有两种hasOwnProperty
和in
hasOwnProperty
是Object原型对象上的一个方法,用来判断对象自身属性中是否具有指定的属性。
这个方法可以用来检测一个对象是否含有特定的自身属性;和 in
运算符不同,该方法会忽略掉那些从原型链上继承到的属性。
// eslint-disable-next-line no-new-object
const obj = new Object();
obj.name = 'myObject';console.log(obj.hasOwnProperty('name')); // true
console.log(obj.hasOwnProperty('toString')); // false
console.log(obj.hasOwnProperty('hasOwnProperty')); // falseconsole.log('name' in obj); // true
console.log('toString' in obj); // true
MDN上指出,JavaScript 并没有保护 hasOwnProperty
这个属性名,可以将任意对象的一个属性命名为hasOwnProperty
,这样一来就无法使用原型对象上的hasOwnProperty
方法了。解决办法,直接使用原型链上的hasOwnProperty
方法:
// 可以直接使用原型链上真正的 hasOwnProperty 方法
({}).hasOwnProperty.call(obj, 'name'); // true
// 也可以使用 Object 原型上的 hasOwnProperty 属性
Object.prototype.hasOwnProperty.call(obj, 'name'); // true
推荐使用第二种方式。
判断对象是否存在某个属性相关推荐
- es6 对象中是否有键值_js/es6判断对象是否为空,并判断对象是否包含某个属性...
js判断对象为空以及有好几种方法了,但是个人觉得不是特别方便. 比如: 1.把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} " 2.for i ...
- js判断html存不存在某个属性,javascript如何判断对象是否存在某属性?
javascript判断对象是否存在某属性有三种方法,三种方式各有优缺点,不同的场景使用不同的方式,有时还需要结合使用,比如遍历自身属性的时候,就会把 for ··· in ···和 hasOwnPr ...
- 【python初级】hasattr函数判断对象是否包含某属性
[python初级]hasattr函数判断对象是否包含某属性 1.背景 2.语法 3.示例 1.背景 hasattr函数是python的内置函数,类似print函数一样. hasattr函数用于判断对 ...
- java 如何判断对象内的某个属性是空
朋友给我说了这个问题,第一反应是a.xx==null. 朋友给我说错了,应该用反射,于是我总结了一下为什么要用反射. 我认为有两点:1.你不知道这个对象是什么类型,如果是int类型,而int类型又不能 ...
- python判断对象是否有属性
判断类对象类型,是否有包含属性: class FooClass:passk = FooClass() k.append =12 try:# 判断属性if hasattr(k, 'append'):pr ...
- JavaScript 判断对象中是否有某属性
一.点( . )或者方括号( [ ] ) 通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回undefined.当然,这里的"不存在"指的是对象自身和原型链上都 ...
- java判断对象无数据_java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值...
1.java利用反射机制判断对象的属性是否为空: Map validateMap = new LinkedHashMap(); validateMap.put("serial", ...
- 获取对象的属性,并且判断对象属性是否存在
(1)获取对象的属性,并且判断对象属性是否存在 举例: let test = {name:'22',age:67,sex:'man'}; 获取age属性值: 简单写法: if(test &&a ...
- 判断 Python 对象是否包含某个属性的方法
先创建两个类,判断类的属性是否存在: class Foo(object):def __init__(self):super(Foo, self).__init__()self.is_whole = 1 ...
最新文章
- Python_note3 基本数据类型+time库使用
- pytorch 笔记:torchsummary
- 杭电1232畅通工程
- 湖人豪华助教团散伙 德帅身边恐仅剩两名帮手
- react-native 热更新react-native-pushy集成遇到的问题
- excel导入linux乱码怎么解决方法,,请大家都来看下,Excel导入有乱码?原因出在哪里?应该怎么解决?...
- TensorFlow2.0:tensorboard使用
- [置顶] webservice系列1---基于web工程上写一个基本数据类型的webservice
- MS Project的开源替代品 OpenProj
- 神经网络是不是分类算法,人工神经网络分类算法
- Windows:电源计划:隐藏在深处的卓越性能,Get正确打开方式
- iphone导出视频 无法连接到设备_爱思助手无法识别设备或者连接超时解决办法...
- 【长文】前端需要了解的计算机网络知识
- C语言经典69题(又易到难)每日更新5道题
- 【Ubuntu安装后基本配置】
- 动态规划-剪绳子问题
- Cocos creator 导入 tiled map地图资源,cocos 显示地图错乱偏移
- 使用spark处理天气数据并可视化
- WIN7系统添加python的pip环境变量
- 第十六届全国大学生智能车竞赛线上总决赛比赛时间与直播链接