学习内容:
- 属性简洁表示法
- 属性名表达式
- Object.is()
- 扩展运算符与Object.assign()
- in
- 对象的遍历方式
属性简洁表示法
ES6当中,当对象的key和value的命名一致时,可以简写:
let name = 'Sure'
let age = '36'
let obj1 = {
name : name,
age : age
}
let obj = {
name,
age
}
console.log(obj)
console.log(obj1)
---------------------------
{name: 'name', age: '36'}
{name: 'name', age: '36'}
属性名表达式
看下面的代码,s是变量,输出key是s变量的值,代码如下:
let name = 'Sure'
let age = '36'
let s = 'school'
let obj = {
name,
age,
s:'37中学'
}
let obj1 = {
name,
age,
[s]:'37中学' // 把变量加一个[]就可以啦!!!
}
console.log(obj)
console.log(obj1)
----------------------------------------------
{name: 'Sure', age: '36', s: '37中学'}
{name: 'Sure', age: '36', school: '37中学'}
注意:对象里的方法不要使用箭头函数,容易出错,因为剪头函数的this指向的是定义时的变量,不是调用时的变量,所以没办法在箭头函数中用this.xxx
对象里写方法的简写形式对比:
let name = 'Sure'
let age = '36'
let s = 'school'
let obj = {
name,
age,
working :function() {
console.log(this.name + " is working.")
}
}
let obj1 = {
name,
age,
working() {
console.log(this.name + " is working.")
}
}
obj.working()
obj1.working()
----------------
Sure is working.
Sure is working.
未完,有时间再写4‘29’‘
写的东西都丢了。。。。。