前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6之Object

ES6之Object

作者头像
19组清风
发布2021-11-15 15:42:05
2280
发布2021-11-15 15:42:05
举报
文章被收录于专栏:Web Front EndWeb Front End
  1. 属性简洁表示法。
    1. 属性名表达式。
    2. Object.is():替代===,解决NaN问题。
    3. Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。(浅拷贝)
    4. 对象的遍历方式。结合ES5一起复习了吧:
      1. for...in。(不包括不可枚举属性,会遍历出原型属性)
      2. Object.keys()用于返回对象所有key组成的数组。(不可获得不可枚举属性,仅自身属性)
      3. Object.getOwnPropertyNames()用于返回对象所有key组成的数组。(仅自身属性,包括不可枚举属性)
      4. Reflect.ownKeys()用于返回对象所有key组成的数组。(包括不可枚举属性,包括方法属性)
// 属性简洁表示法
let name = 'xiecheng'
let age = 34
let obj = {
  name,
  age,
  study() {
      console.log(this.name + '正在学习')
  }
}

// 属性名表达式
let s = 'school'
let obj = {
  foo: 'bar',
  [s]: 'wang.haoyu'
}

// Object.is()
let obj1 = { // new Object()
  name: 'wang.haoyu',
  age: 34
}

let obj2 = { // new Object()
  name: 'wang.haoyu',
  age: 34
}
console.log(obj1 == obj2) // false

console.log(Object.is(obj1, obj2)) // false

let obj2 = obj1

console.log(Object.is(obj1, obj2)) // true

// Object.assign()
const target = {
  a: 1,
  b: 2
}
const source = {
  b: 4,
  c: 5
}

const returnedTarget = Object.assign(target, source)

console.log(target)
// expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget)
// expected output: Object { a: 1, b: 4, c: 5 }

let target = {
  a: {
      b: {
          c: 1
      },
      e: 4,
      f: 5,
      g: 6
  }
}
let source = {
  a: {
      b: {
          c: 1
      },
      e: 2,
      f: 3
  }
}
Object.assign(target, source)
console.log(target) // 浅拷贝 丢失g属性

// Object的遍历
let obj = {
  name: 'wang.haoyu',
  age: 34,
  school: 'colleges'
}
// Array中演示过,for...in不能够用于遍历Array,for...in的作用是用于遍历对象的。

for (let key in obj) {
  console.log(key, obj[key])
}
Object.keys() // 用于返回对象所有key组成的数组。

Object.keys(obj).forEach(key => {
  console.log(key, obj[key])
})
Object.getOwnPropertyNames() // 用于返回对象所有key组成的数组。

Object.getOwnPropertyNames(obj).forEach(key => {
  console.log(key, obj[key])
})
Reflect.ownKeys() // 用于返回对象所有key组成的数组。

Reflect.ownKeys(obj).forEach(key => {
  console.log(key, obj[key])
})
复制代码
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年09月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档