Métodos comuns dos objetos embutidos Object do JavaScript

Em JavaScript, `Object` é um objeto embutido que possui vários métodos que podem ser usados ​​para manipular objetos. Aqui estão alguns métodos `Object` comuns:

1. `Object.keys(obj)`: Retorna um array contendo os nomes de todas as propriedades enumeráveis ​​do objeto `obj`.

const obj = { a: 1, b: 2, c: 3 };
const keys = Object.keys(obj);
console.log(keys); // ['a', 'b', 'c']

2. `Object.values(obj)`: Retorna um array contendo todos os valores de propriedades enumeráveis ​​do objeto `obj`.

const obj = { a: 1, b: 2, c: 3 };
const values = Object.values(obj);
console.log(values); // [1, 2, 3]

3. `Object.entries(obj)`: Retorna um iterador contendo o array `[key, value]`, onde `key` é o nome do atributo do objeto `obj`, e `value` é o valor do atributo correspondente.

const obj = { a: 1, b: 2, c: 3 };
const entries = Object.entries(obj);
console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]

4. `Object.assign(target, ...sources)`: Usado para copiar todas as propriedades enumeráveis ​​do objeto de origem (`source`) para o objeto de destino (`target`) e retornar o objeto de destino.

const target = { a: 1, b: 2 };
const source = { b: 3, c: 4 };
const result = Object.assign(target, source);
console.log(result); // { a: 1, b: 3, c: 4 }

5. `Object.create(proto, [propertiesObject])`: Crie um novo objeto com base no objeto protótipo fornecido e, opcionalmente, adicione novas propriedades ao objeto.

const person = {
  name: '',
  age: 0,
  greeting() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  },
};

const john = Object.create(person);
john.name = 'John';
john.age = 20;
john.greeting(); // Hello, my name is John and I am 20 years old.

6. `Object.defineProperties(obj, props)`: Defina uma ou mais novas propriedades ou modifique as propriedades existentes e, em seguida, adicione-as a um objeto por meio de `Object.defineProperty()`.

const obj = {};
Object.defineProperty(obj, 'foo', {
  value: 'bar',
  writable: false, // 不可写
  enumerable: true, // 可枚举
  configurable: false, // 不可配置
});
console.log(obj.foo); // 'bar'
obj.foo = 'baz'; // 抛出 TypeError

7. `Object.defineProperty(obj, prop, descriptor)`: Defina uma nova propriedade para um objeto ou modifique o valor de uma propriedade existente.

const obj = {};
Object.defineProperties(obj, {
  foo: {
    value: 'bar',
    writable: false,
  },
  baz: {
    value: 42,
    writable: true,
  },
});
console.log(obj.foo); // 'bar'
console.log(obj.baz); // 42

8. `Object.freeze(obj)`: Congela um objeto para que não possa ser modificado.

const obj = { a: 1, b: 2 };
Object.freeze(obj);
obj.c = 3; // 抛出 TypeError

9. `Object.is(value1, value2)`: Determina se dois valores são iguais.

console.log(Object.is(NaN, NaN)); // true
console.log(Object.is(+0, -0)); // false
console.log(Object.is({}, {})); // false
console.log(Object.is(true, true)); // true

10. `Object.seal(obj)`: Sela um objeto para que ele não possa adicionar novas propriedades e torna as propriedades existentes não configuráveis.

const obj = { a: 1 };
Object.seal(obj);
obj.b = 2; // 不会添加新属性
delete obj.a; // 不可删除现有属性
obj.a = 3; // 不可配置现有属性

Esses métodos são apenas um pequeno subconjunto dos métodos disponíveis em `Object`, existem muitos outros que podem ser usados ​​no desenvolvimento. Deve-se notar que nem todos os métodos `Object` suportam todos os mecanismos JavaScript, então você deve prestar atenção à compatibilidade do navegador ao usá-los.

Acho que você gosta

Origin blog.csdn.net/m0_72446057/article/details/130574294
Recomendado
Clasificación