Comprobación de variables indefinidas en JavaScript
Es un escenario común encontrar errores indefinidos al hacer referencia a variables inexistentes en JavaScript. Para abordar esto, es fundamental comprender el concepto de nulo e indefinido en el lenguaje.
Comprender lo nulo y lo indefinido
En JavaScript, nulo representa una ausencia explícita de valor , mientras que indefinido indica un valor que aún no ha sido asignado o inicializado. Si una variable no está declarada, el intérprete de JavaScript la establece automáticamente como indefinida.
Detección de variables indefinidas
No existe un equivalente directo para verificar nulos en JavaScript . En su lugar, puede utilizar una comparación de igualdad estricta (===) para diferenciar entre indefinido y nulo:
if (variable === null) // Does not execute if variable is undefined
Comprobación de variables declaradas y no definidas
Para determinar si una variable está declarada y no está definida, puede utilizar el operador de desigualdad (!==):
if (variable !== undefined) // Any scope
Enfoque obsoleto
Antes de ECMAScript 5, era necesario usar el operador typeof para verificar si había indefinido, ya que se podía reasignar lo indefinido. Sin embargo, esta práctica ahora está desactualizada:
if (typeof variable !== 'undefined') // Any scope
Comprobación de la existencia de miembros
Si necesita verificar si un miembro específico existe en un objeto, puede usar el operador in o el método hasOwnProperty:
if ('membername' in object) // With inheritance
if (object.hasOwnProperty('membername')) // Without inheritance
Comprobación de valores veraces
Finalmente, si está interesado en saber si una variable se cumple un valor veraz, independientemente de su contenido real, puede utilizar el operador booleano:
if (variable)
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3