Colección de citas famosas - Slogan de motivación - Cinco formas de recorrer las propiedades de un objeto en js

Cinco formas de recorrer las propiedades de un objeto en js

ES6-* Hay cinco formas de iterar sobre las propiedades de un objeto.

(1) For...in

For...in recorre las propiedades enumerables y la herencia del objeto en sí (excluyendo la propiedad Símbolo).

(2) Claves de objeto

Object.keys devuelve una matriz, que incluye los nombres de clave de todas las propiedades enumerables (excluidas las propiedades de símbolo) del objeto en sí (excluida la herencia).

(3) object.getOwnPropertynames (obj) es decir9

Object.getOwnPropertyNames devuelve una matriz que contiene los nombres clave de todas las propiedades del objeto en sí (excluyendo las propiedades de símbolo, pero incluidas las enumeradas). propiedades).

(4) object.getownpropertymodals(obj)

Object.getOwnPropertySymbols devuelve una matriz que contiene los nombres clave de todas las propiedades de símbolo del propio objeto.

(5) reflect.ownkies(obj)

Reflect.ownKeys devuelve una matriz que contiene todos los nombres clave del objeto en sí (excluyendo la herencia), independientemente de si el nombre clave es un símbolo o cadenas, independientemente de si son enumerables.

Los cinco métodos anteriores atraviesan los nombres clave de los objetos y todos siguen las mismas reglas de orden transversal de atributos.

? Entre ellos, el más compatible es... Al atravesar, debido a que generalmente solo necesitamos atravesar las propiedades que posee el objeto en sí, usamos el método de objeto. prototipo. hasOwnProperty() es compatible con IE5.5 para excluir propiedades heredadas.

Nota: Incluso si el valor de la propiedad es nulo o no está definido, hasOwnProperty seguirá devolviendo verdadero mientras la propiedad exista.

?

? Si no le importa la compatibilidad, es bueno usar el método de claves y atravesar...

? For...of es una sintaxis introducida en es6 para atravesar objetos iterables, que es equivalente a for en Python.

? Lo incómodo de js es... En , atravesar matrices y objetos se devuelven valores clave, y atravesar matrices es un valor de subíndice. Al iterar sobre una matriz para... se devolverá cada valor, similar a foreach, pero para los objetos, solo se admiten los objetos que implementan iteradores.