快来加入我们吧!
"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 进行学习,及时获取最新文章。
"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 = {