为了账号安全,请及时绑定邮箱和手机立即绑定

Object获取对象属性的方法

标签:
JavaScript
let triangle={
a:1,
b:2,
c:3
}
 

function coloTriangle(){
this.color='red';
}
 

coloTriangle.prototype=triangle;
let color=new coloTriangle();
Object.defineProperty(color,'auto',{
value:'auto'
})
let symbolProp=Symbol('symbol');
color[symbolProp]='symbol'

*Reflect.ownKeys:Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols)

  • 没有来自继承的,都是own
  • 不管枚举不枚举都能遍历
  • 还可以拿到symbol类型属性
    */
    Reflect.ownKeys(color) //[“color”,“auto”,Symbol(symbol)]

/**

  • Object.getOwnPropertyNames
  • 没有来自继承,都是own
  • 不管枚举不枚举都能遍历
  • 拿不到symbol类型属性
    */
    Object.getOwnPropertyNames(color);//[“color”,“auto”]

/**

  • Object.getOwnPropertySymbols
  • 只能own
  • 也不管枚举不枚举
  • 只能拿到Symbol类型属性
    */

Object.getOwnPropertySymbols(color);//[Symbol(symbol)]

/**

  • Object.keys就有点矫情了
  • 只能是own
  • and 要枚举才行
  • 拿不到Symbol类型属性

*/
Object.keys(color);//[“color”]

/**

  • for in 就是也是取其一把
  • 不需要own,可以来自继承属性
  • 但是一定会要枚举
  • 拿不到Symbol类型属性
    */
    for(let i in color){
    console.log(i);//color a b c
    }
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消