1. Цикл for…in: цикл for...in может быть использован для перебора всех свойств объекта. В ходе каждой итерации цикла будет получено следующее имя свойства объекта.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
 
for (let prop in obj) {
  console.log(`${prop}: ${obj[prop]}`)
}
// "name: John"
// "age: 30"
// "hobbies: reading,swimming"
  1. Метод Object.keys(): метод Object.keys() возвращает массив, содержащий все имена собственных перечисляемых свойств объекта.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
const keys = Object.keys(obj)
 
console.log(keys) // ["name", "age", "hobbies"]
  1. Метод Object.values(): метод Object.values() возвращает массив, содержащий все значения собственных перечисляемых свойств объекта.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
const values = Object.values(obj)
 
console.log(values) // ["John", 30, ["reading", "swimming"]]
  1. Метод Object.entries(): метод Object.entries() возвращает массив, содержащий все собственные перечисляемые свойства объекта в виде пар “ключ: значение”.
const obj = { name: "John", age: 30, hobbies: ["reading", "swimming"] }
const entries = Object.entries(obj)
 
console.log(entries)
// [ ["name", "John"], ["age", 30], ["hobbies", ["reading", "swimming"]] ]

Важно понимать, что в цикле for...in будут перебираться все свойства объекта, включая свойства, которые были унаследованы от прототипа объекта. Однако, методы Object.keys()Object.values() и Object.entries() будут работать только со свойствами, которые были определены непосредственно в объекте, а не унаследованными.


Назад