ES6-对象新写法

来源:互联网 发布:mysql主键生成 编辑:程序博客网 时间:2024/06/07 03:38

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 falseconsole.log(Object.is(NaN, NaN),NaN===NaN);//true falseconsole.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' }有参数,同名,替换






原创粉丝点击