Метод hasOwnProperty() возвращает логическое значение, указывающее, содержит ли объект указанное свойство.

obj.hasOwnProperty(prop)

prop Имя проверяемого свойства.

Каждый объект, произошедший от Object, наследует метод hasOwnProperty. Этот метод может использоваться для определения того, содержит ли объект указанное свойство в качестве собственного свойства объекта; в отличие от оператора in, этот метод не проверяет существование свойств в цепочке прототипов объекта.

Как отличить отсутствующее свойство от свойства со значением undefined?

Если свойство отсутствует, то метод hasOwnProperty() вернёт false; А undefined будет, когда переменная/ключ заданы, а значения не содержит.

Переменная, не имеющая присвоенного значения, обладает типом undefined. Также undefined возвращают метод или инструкция, если переменная, участвующая в вычислениях, не имеет присвоенного значения. Функция возвращает undefined, если она не возвращает какого-либо значения.


Назад