提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
1.对象属性的简洁表示
var count=20
var obj={count} //es6的对象成员可以写做 一个单词 这个单词是变量名:把变量名作为对象的属性名 值取出作为属性值(易于读取,提高开发效果)
var {age}={age:20}
console.log(obj["count"])
var obj={count:count} <==> {"count":count} //对象成员的两种写法,写法相等
运行结果:
2.对象方法的简写
方法简写: 函数根据业务有很多别称:构造函数 静态函数 方法 事件处理程序(监听器) 闭包 回调函数 钩子函数
var obj = {
name: "karen",
say: function() { }
}
//name和say都是obj对象成员 name是obj的属性(pro) say是对象obj的方法
var obj2 = {
name: "jack",
say() { } //say(){ }方法的简写,和上面的 say: function() { }相等
}
3.对象的属性表达式写法
var obj = {
name: "karen", //常用写法
"age":20, //标准写法,
["hello"+100]:90, //es6写法
[false]:90, //es6写法
[{life:100}]:90, //es6写法,
[Symbol(100)]:200
}
console.log(obj)
运行结果:
当两个对象有相同的属性时,同名的会被覆盖,后面的会覆盖前面的。
拓展运算符(...)用于取出参数对象所有可遍历属性然后拷贝到当前对象
var obj={name:"karen",age:20,arr:[10,20],life:2}
var obj3={life:7,x:100}
var obj2={life:80,...obj,life:100,...obj3}
console.log(obj2)
console.log(obj2,obj==obj2,obj.arr==obj2.arr)
运行结果:
4.对象的新方法
Object.is(value1, value2):用来比较两个值是否严格相等,与(===)基本类似。
var a=-0
var b=+0
var re=Object.is(a,b) //就是=== 做了一点调整
console.log(re,a===b)
var re=(["10"]==10)
console.log(re)
运行结果: