返回
ES6对象扩展(二)
前端
2023-11-11 21:01:40
扩展操作符
扩展操作符(...)是ES6中新增的一个操作符,它可以将一个数组或对象展开为一个单独的列表或对象。扩展操作符非常有用,因为它可以简化代码并提高可读性。
例如,以下代码使用扩展操作符将两个数组合并为一个新的数组:
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const newArray = [...array1, ...array2];
console.log(newArray); // [1, 2, 3, 4, 5, 6]
Object.assign()方法
Object.assign()方法用于将一个或多个源对象的属性复制到目标对象。如果目标对象已经存在同名的属性,则源对象的属性将覆盖目标对象的属性。
例如,以下代码使用Object.assign()方法将源对象sourceObject的属性复制到目标对象targetObject:
const sourceObject = {
name: 'John',
age: 30
};
const targetObject = {
city: 'New York'
};
Object.assign(targetObject, sourceObject);
console.log(targetObject); // { name: 'John', age: 30, city: 'New York' }
Object.isExtensible()方法
Object.isExtensible()方法用于检测一个对象是否可扩展。如果对象可扩展,则返回true;否则,返回false。
例如,以下代码使用Object.isExtensible()方法检测一个对象是否可扩展:
const object = {
name: 'John',
age: 30
};
console.log(Object.isExtensible(object)); // true
Object.preventExtensions()方法
Object.preventExtensions()方法用于阻止一个对象扩展。如果对象被阻止扩展,则无法向对象添加新的属性,也不能删除现有属性。
例如,以下代码使用Object.preventExtensions()方法阻止一个对象扩展:
const object = {
name: 'John',
age: 30
};
Object.preventExtensions(object);
console.log(Object.isExtensible(object)); // false
区别
Object.assign()方法用于将一个或多个源对象的属性复制到目标对象。Object.isExtensible()方法用于检测一个对象是否可扩展。Object.preventExtensions()方法用于阻止一个对象扩展。