Полное руководство по итерации объектов в TypeScript

В TypeScript итерация объекта позволяет разработчикам перебирать свойства объекта и выполнять различные операции. В этой статье мы рассмотрим несколько методов перебора объектов в TypeScript и предоставим примеры кода для каждого метода.

  1. Цикл for…in:
    Цикл for…in — это распространенный и простой метод перебора свойств объекта. Он циклически перебирает все перечислимые свойства, включая те, которые унаследованы от цепочки прототипов. Вот пример:
const person = {
  name: 'John',
  age: 30,
  occupation: 'Developer'
};
for (const key in person) {
  if (person.hasOwnProperty(key)) {
    console.log(`${key}: ${person[key]}`);
  }
}
  1. Object.keys():
    Метод Object.keys() возвращает массив имен собственных перечислимых свойств объекта. Он позволяет вам перебирать свойства объекта, используя методы итерации массива, такие как forEach, Map или Reduc. Вот пример:
const person = {
  name: 'John',
  age: 30,
  occupation: 'Developer'
};
Object.keys(person).forEach((key) => {
  console.log(`${key}: ${person[key]}`);
});
  1. Object.entries():
    Метод Object.entries() возвращает массив пар ключ-значение собственных перечислимых свойств объекта. Это позволяет вам перебирать как ключи, так и значения объекта. Вот пример:
const person = {
  name: 'John',
  age: 30,
  occupation: 'Developer'
};
Object.entries(person).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});
  1. Object.getOwnPropertyNames():
    Метод Object.getOwnPropertyNames() возвращает массив имен собственных свойств объекта, включая неперечислимые свойства. Он позволяет вам перебирать все свойства, перечисляемые или нет. Вот пример:
const person = {
  name: 'John',
  age: 30,
  occupation: 'Developer'
};
Object.getOwnPropertyNames(person).forEach((key) => {
  console.log(`${key}: ${person[key]}`);
});
  1. Reflect.ownKeys():
    Метод Reflect.ownKeys() возвращает массив имен собственных свойств объекта, включая как перечисляемые, так и неперечисляемые свойства. Он позволяет вам перебирать все свойства, аналогично Object.getOwnPropertyNames(). Вот пример:
const person = {
  name: 'John',
  age: 30,
  occupation: 'Developer'
};
Reflect.ownKeys(person).forEach((key) => {
  console.log(`${key}: ${person[key]}`);
});

В этой статье мы рассмотрели различные методы итерации объектов в TypeScript. Мы рассмотрели цикл for…in, Object.keys(), Object.entries(), Object.getOwnPropertyNames() и Reflect.ownKeys(). Каждый метод предлагает свои преимущества в зависимости от конкретного варианта использования. Используя эти методы, вы можете эффективно перебирать свойства объектов и выполнять необходимые операции в приложениях TypeScript.