«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как проверить существование свойств динамического объекта в JavaScript?

Как проверить существование свойств динамического объекта в JavaScript?

Опубликовано 8 ноября 2024 г.
Просматривать:198

How to Check for Dynamic Object Property Existence in JavaScript?

Проверка существования свойства объекта с помощью динамического имени свойства

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

Метод 1: использование hasOwnProperty

Метод hasOwnProperty возвращает логическое значение, указывающее, присутствует ли указанное свойство в сам объект, исключая унаследованные свойства. Чтобы проверить имя свойства, хранящееся в переменной, мы можем использовать:

var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    // Property exists
}

Метод 2: использование оператора «in»

Оператор «in» проверяет, существует ли свойство в самом объекте или в его цепочке прототипов. Чтобы проверить имя динамического свойства, мы можем использовать:

var myProp = 'prop';
if(myProp in myObj){
    // Property exists
}

Метод 3: упрощенный оператор «in»

Если имя свойства известно во время компиляции, мы можем упростить использование оператора «in»:

if('prop' in myObj){
    // Property exists
}

Примечание:

  • hasOwnProperty не учитывает унаследованные свойства, в то время как «in» учитывает.
  • Для свойств, которые могут быть унаследованы , использование "in" может быть более уместным.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3