1.对象新写法,有人叫做语法糖,就是给你点甜头,甜头是啥?就是写起来简单化
var obj={
//getName:function(){
// console.log(111);
//}
getName(){
console.log(222);
}
}
obj.getName()
可以用下面代替上面传统es5的写法。
2.属性新写法
var obj={
getName(){
var firstName;
var lastName;
return {
name1:firstName,
name2:lastName
}//传统写法
}
}
console.log(obj.getName());
新写法
var obj={
getName(){
var firstName;
var lastName;
return {
firstName,lastName
}
}
}
console.log(obj.getName());
动态添加属性,nodejs module export新写法
var num=1;
var obj={
['hobby'+num]:'fishing',//动态添加属性
set name(name){
this.name=name;
},
get name(){
return this.name;
}
}
var obj2={};
module.export={obj,obj2} //nodejs新写法
3.Object .is
console.log(Object.is({}, {}) ,{}==={});//false false
console.log(Object.is(NaN, NaN),NaN===NaN);//true false
console.log(Object.is(+0,-0),+0===-0);//false true
4.Object.assign
var obj={};
var obj2=Object.assign(obj,{name:'ggb'});
console.log(obj2);//{ name: 'ggb' }
console.log(obj === obj2);//true
var obj={};
var obj2=Object.assign(obj,{name:'ggb'},{age:'28'});//可以有多个参数
console.log(obj2);//{ name: 'ggb', age: '28' }
console.log(obj === obj2);//true
var defaultV={
name:'ggb'
}
function test(opt){
var obj= Object.assign({},defaultV,opt)
console.log(obj);
}
test()//{ name: 'ggb' } 没有参数
test({name:'xbb'})//{ name: 'xbb' }有参数,同名,替换