返回

ES6对象扩展(二)

前端

扩展操作符

扩展操作符(...)是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()方法用于阻止一个对象扩展。