判断是否是数组
Array.isArray([1, 2, 3]); // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar'); // false
Array.isArray(undefined); // false
对象覆盖合并
覆盖有先后顺序,有相同的key,后面的会覆盖前面的,没有则添加
let o1 = { a: 1 };
let o2 = { b: 2 };
let o3 = { c: 3 };
let obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, target对象自身会被修改
如果想要避免o1被改变,需要这样写:
//给一个空对象作为target,这样改变的是空对象
let obj = Object.assign({},o1,o2,o3);
console.log(obj);// { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1}
ES6 写法
const basicConfig = {
width: 800,
height:600,
webPreferences: {
nodeIntegration: true, // 可以使用node语法
},
};
const config = {