面试题:如何判断某个对象是否拥有某个属性的方法

 ① 第一种使用 in 操作符号:

 格式:(变量 in  对象)

const person = {
     "name": "小黑",
     "age": 18
};
console.log("name" in person); // true
console.log("gender" in person); // false

② 第二种使用 hasOwnProperty 方法

此方法用于检测一个对象是否含有特定的自身属性,返回一个布尔值(也就是,是否有指定的键)

console.log(person.hasOwnProperty("age")); // true
console.log(person.hasOwnProperty("gender")); // false

 ③ 第三种 ES2022新特性:Object.hasOwn( )

Object.hasOwn()方法是ES2022新提出的,用于替代Object.prototype.hasOwnProperty()的方法

console.log(Object.hasOwn(person,"name")); //true
console.log(Object.hasOwn(person,"age")); //true
console.log(Object.hasOwn(person,"gender")); //false

④ 第四种使用括号符号obj["prop"]。如果属性存在,它将返回该属性的值,否则将返回undefined

console.log(person["name"]); // 小黑
console.log(person["gender"]); // undefined

⑤ 第五种 Reflect.has( )方法 相当于 in 操作符

用法: Reflect.has(target, propertyKey)

target:此参数是目标对象,它将查找属性

propertyKey:此参数是要检查的属性的名称

返回值:此方法返回一个布尔值,该值指示目标是否具有该属性

console.log(Reflect.has(person,'name')); //true
console.log(Reflect.has(person,'gender')); //false

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值