Как правило, мы также имеем дело с вложенными объектами с большей глубиной. Становится очень сложно проверить, существуют ли они или не определены. Иногда такие ошибки также могут сломать пользовательский интерфейс. Если мы используем вложенные проверки, код выглядит неуклюжим. Следующий пакет пригодится для решения этой проблемы.

Пакет Npm: https://www.npmjs.com/package/is-obj-props

Подробности:

Имя пакета: is-obj-props

Небольшой, но очень полезный пакет npm, который используется для проверки того, обладает ли объект свойством или нет. Проверяет любую глубину вложенных объектов

- Если у объекта есть свойство, он вернет значение
- Если свойство отсутствует, он вернет null

Установка

$ npm i is-obj-props

Как использовать

Установить и импортировать is-obj-props

import isObjProps from ‘is-obj-props’;
const testObj = {
   name: “UserName”,
   age: 25,
   marks: {
      exam1: 98,
      exam2: {
         part1: 47,
         part2: 48
      }
   }
}

isObjProps — это функция, которая принимает 2 аргумента:

- Аргумент 1 — Тип: Объект — Объект для тестирования (в данном случае testObj)
— Аргумент 2 — Тип: Массив — Массив имен свойств. Длина массива обозначает глубину свойства во вложенном объекте.

Примеры помогут вам лучше понять

console.log(isObjProps(obj, [“name”]));
//UserName
console.log(isObjProps(obj, [“FirstName”]));
//null
console.log(isObjProps(obj, [“marks”,”exam1"]));
//98
console.log(isObjProps(obj, [“marks”,”exam2"]));
//{part1: 47, part2: 48}
console.log(isObjProps(obj, [“marks”,”exam3"]));
//null
console.log(isObjProps(obj, [“marks”,”exam2",”part2"]));
//48
console.log(isObjProps(obj, [“marks”,”exam2",”part3"]));
//null

Это никогда не позволит нам снова столкнуться с ошибкой undefined из-за свойств объекта.

Вклад

Вы можете поднимать проблемы и PR в [репозиторий](https://github.com/vilvaathibanpb/is-obj-props)