Проверка неопределенных переменных в JavaScript
Это распространенный сценарий возникновения неопределенных ошибок при ссылке на несуществующие переменные в JavaScript. Чтобы решить эту проблему, крайне важно понимать концепцию null и undefined в языке.
Понимание Null и Undefine
В JavaScript null представляет собой явное отсутствие значения. , тогда как undefined указывает на значение, которое еще не было присвоено или инициализировано. Если переменная не объявлена, интерпретатор JavaScript автоматически присваивает ей неопределенное значение.
Обнаружение неопределенных переменных
Прямого эквивалента для проверки значения null в JavaScript не существует. . Вместо этого вы можете использовать строгое сравнение на равенство (===), чтобы различать неопределенное и нулевое значение:
if (variable === null) // Does not execute if variable is undefined
Проверка объявленных и неопределенных переменных
Чтобы определить, является ли переменная одновременно объявленной и не неопределенной, вы можете использовать оператор неравенства (!==):
if (variable !== undefined) // Any scope
Устаревший подход
До ECMAScript 5 необходимо было использовать оператор typeof для проверки неопределенности, поскольку неопределенное значение можно было переназначить. Однако эта практика уже устарела:
if (typeof variable !== 'undefined') // Any scope
Проверка существования элемента
Если вам нужно проверить, существует ли определенный элемент в объекте, вы можете использовать оператор in или hasOwnProperty метод:
if ('membername' in object) // With inheritance
if (object.hasOwnProperty('membername')) // Without inheritance
Проверка истинности значений
Наконец, если вы хотите узнать, сохраняется ли переменная истинное значение, независимо от его фактического содержания, вы можете использовать логический оператор:
if (variable)
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3