ES6 系列十一:对象的拓展

快来加入我们吧!

"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 进行学习,及时获取最新文章。

"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!

前言

在开始学习之前,我们想要告诉您的是,本文章是对阮一峰《ECMAScript6 入门》一书中 “对象的扩展” 章节的总结,如果您已掌握下面知识事项,则可跳过此环节直接进入题目练习

  • 对象如何简洁表达 ?
  • 属性遍历的方法有哪些 ?
  • 什么是 super 运算符 ?
  • 对象扩展运算符有哪些作用 ?

如果您对某些部分有些遗忘,👇🏻 已经为您准备好了!

学习链接

对象的扩展学习

汇总总结

对象的简洁表达

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法

let birth = '1999/01/01'

const Person = {
   
  name: '李四',

  //等同于birth: birth
  birth,

  // 等同于hello: function ()...
  hello() {
   
    console.log('我的名字是', this.name)
  },
}

属性遍历

  • for…in: 循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。
  • Object.keys(obj): 返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。
  • Object.getOwnPropertyNames(obj): 返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名。
  • Object.getOwnPropertySymbols(obj): 返回一个数组,包含对象自身的所有 Symbol 属性的键名。
  • Reflect.ownKeys(obj): 返回一个数组,包含对象自身的(不含继承的)所有键名,不管键名是 Symbol 或字符串,也不管是否可枚举。

以上的 5 种方法遍历对象的键名,都遵守同样的属性遍历的次序规则。

  • 首先遍历所有数值键,按照数值升序排列。
  • 其次遍历所有字符串键,按照加入时间升序排列。
  • 最后遍历所有 Symbol 键,按照加入时间升序排列。

super 运算符

指向当前对象的原型对象

const proto = {
   
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值