深入理解ES6四

2017-09-18  本文已影响16人  前端小兵

ES6规范清晰的定义了对象的类别

对象字面量语法的扩展

function Person(name,age) {
    reutrn {
        name,
        age
    }
}
let person = {
    name:'tgb',
    sayName() {
        console.log(this.name);
    }
}
let suffix = 'name'
let person = {
    ['first'+suffix]: 'Nicholas',
    ['last'+suffix]:'Zakas'
}
console.log(person['first name']);
console.log(person['last name']);

ES6新增方法

console.log(+0 === -0)  //true;
console.log(Object.is(+0,-0)); //false

console.log(NaN === Nan); //false
console.log(Object.is(NaN,NaN)) //true
let obj = {};
Object.assign(obj,
    {
        type:'js';
        name:'file.js'
    },
    {
        type:'css  //如果多个源对象具有同名的属性则排位靠后的源对象会覆盖排位靠前的
    }
)
console.log(obj.type); //'css'
console.log(obj.name); //'file.js'

增强对象原型

let person = {
    getGreeting() {
        return 'Hello';
    }
};
let dog = {
    getGreeting() {
        return 'Woof'
    }
}
let friend = Object.create(person);
console.log(Object.getPrototypeOf(firend)===person); //true

Object.setPrototypeOf(friend,dog);
console.log(Object.getPrototypeOf(friend)===dog); //true
上一篇 下一篇

猜你喜欢

热点阅读