直接写入变量和函数,作为对象的属性和方法
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 协议 ,转载请注明出处!