直接写入变量和函数,作为对象的属性和方法

const name = "小马哥", age = 20;
const person = {
    name: name,
    age: age,
    sayName: function() {
        console.log(name);
    }
}
// ES6 ==> 
const person = {
    name,
    age,
    sayName() {
        console.log(name);
    }
}
person.sayName(); // "小马哥"

function fn(x, y) {
    return {x, y};
}
console.log(fn(10, 20)); // {10,20}

对象属性表达式

const obj = {};
obj.isShow = true;
const name = 'a';
obj[name+'bc'] = 123; // obj.abc = 123
obj['f' + 'bc'] = function() {
    console.log(111)
}
// ------------------
const obj = {
    isShow:true,
    [name + 'bc']: 123,
    ['f' + 'bc'] () {
        console.log(111);
    }
}

对象的方法

is

console.log(NaN === NaN); // false
// 比较是否严格相等,且NaN比较为true
console.log(Object.is(NaN, NaN)); // true

assign

// 返回合并之后的新对象,浅拷贝
// 第一个参数为目标数组,后面的参数为源数组
let newObj = Object.assign({}, {a:1}, {b:2});  // {a:1, b:2}
let newObj1 = {};
Object.assign(newObj1, {a:1}, ...[{b: 2}, {c: 3}])
console.log(newObj1); // {a: 1, b: 2, c: 3}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

ES6中数组的扩展方法 上一篇
ES6中函数的使用 下一篇