JavaScript《每日一点儿》

  • Reflect.ownKeys(target)

    • target参数:传入一个对象(非对象会报错)

    • 返回target所有的属性key,这些属性形成一个数组

    • 注意:可以返回不可枚举类型,但是不返回target继承的属性

      Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))
      Reflect.ownKeys(target)
      两者在遍历对象属性具有相同的作用
      
  • Object.keys(target)

    • target参数:传入对象(非对象不会报错)
    • 返回target可枚举的属性key,这些属性形成一个数组
    • 注意:返回可枚举类型的属性,不返回的属性有:不可枚举的属性、target继承的属性
  • 对象的每一个属性都有一个描述对象,用来描述和控制该属性的行为,获取到的描述对象中的enumerable属性,称为可枚举性,ture为可枚举,false即不可枚举。当属性不可枚举时,就表示某些操作会忽略当前属性。

    • Object.getOwnPropertyDescriptor(object,'该对象具有的属性')
      • 获取对象的属性的描述对象
    • Object.defineProperty()
      • 设置对象的属性的描述对象
    • 以下操作也会忽视不可枚举的属性
      • for...in循环:只遍历对象自身和继承的可枚举属性
      • Object.keys():返回对象自身的所有可枚举属性的键名
      • JSON.stringify():只串行化对象自身的可枚举属性
      • Object.assign(): 只拷贝对象自身的可枚举的属性
  • Object.assign(object1,object2,object3)

    var test = Object.assign(object1,object2,object3);
    
    • 将对象object1、object2、object3的属性添加给变量test
    • 多个对象合并
  • Object.is()

    • 该方法与===类似

    • 区别

      +0 === -0 //true
      NaN === NaN // false
      
      Object.is(+0, -0) // false
      Object.is(NaN, NaN) // true
      
  • ===

    • 严格相等运算符
    • 比较时不进行隐式类型转换
  • ==

    • 相等运算符
    • 比较时会自动进行数据类型转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值