• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

170
Vistas
Javascript comprobando si la ventana no está definida

Estaba escribiendo una verificación para ver si mi código se ejecuta en el navegador y primero probé los siguientes 2 enfoques:

 if (window) { // do browser stuff } if (window !== undefined) { // do browser stuff }

Cuando trato de usar este código, aparece un error que dice que la window no está definida. Sin embargo, cuando intento el siguiente enfoque, funciona:

 if (typeof window !== 'undefined') { // do browser stuff }

¿Por qué las primeras 2 declaraciones if arrojan un error pero la tercera no?

about 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Entonces, la window !== undefined y window arrojan un error porque la ventana no estaba definida. Eso es exactamente lo que te dice el error cuando lo intentas en la consola:

VM49:1 Error de referencia no capturado: iDoNotExist no está definido

Creo que la idea errónea de que esto debería funcionar proviene de cómo se usa generalmente el control de identidad. En las funciones, a menudo realizamos este tipo de verificación en el parámetro de entrada.

 const myFunction = (inputParam) => { if (inputParam){ console.log(inputParam) } else { console.log("invalid parameter") } } myFunction("hello") // 'hello' myFunction() // 'undefined' myFunction(null) // 'undefined' myFunction(undefined) // 'undefined'

El operador typeof , por otro lado, devuelve el tipo de su operando como una cadena. Dado que undefined es uno de los tipos de JavaScript, la expresión no arroja un error y devuelve 'undefined' en su lugar.

about 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda