Чтобы установить значение в объекте JavaScript, только если оно определено, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:
-
Использование метода
hasOwnProperty
:if (myObject.hasOwnProperty('propertyName')) { myObject.propertyName = 'new value'; }
Этот метод проверяет, существует ли свойство в объекте, прежде чем устанавливать его значение.
-
Использование оператора
in
:if ('propertyName' in myObject) { myObject.propertyName = 'new value'; }
Оператор
in
проверяет, существует ли свойство где-нибудь в цепочке прототипов объекта. -
Использование оператора
typeof
:if (typeof myObject.propertyName !== 'undefined') { myObject.propertyName = 'new value'; }
Этот метод проверяет, не является ли свойство
неопределенным
, прежде чем устанавливать его значение. -
Использование нулевого оператора объединения (доступно в ECMAScript 2020):
myObject.propertyName ??= 'new value';
Этот метод присваивает новое значение только в том случае, если свойство имеет значение
null
илиundefined
.