继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Object获取对象属性的方法

qq_安之虚静于幻_0
关注TA
已关注
手记 51
粉丝 8
获赞 87
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
    }
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP