in

JavaScript comprueba si la variable existe (está definida / inicializada)

apple touch icon@2

Una alternativa a la plétora de typeof respuestas;

Global variables declaradas con un var varname = value; declaración en el ámbito global

se puede acceder como propiedades del objeto de ventana.

Como tal, el hasOwnProperty() método, que

devuelve un valor booleano que indica si el objeto tiene la propiedad especificada como su propia propiedad (en lugar de heredarla)

se puede utilizar para determinar si

a var de «varname» ha sido declarado globalmente es decir es una propiedad del window.

// Globally established, therefore, properties of window
var foo = "whatever", // string
    bar = false,      // bool
    baz;              // undefined
//  window.qux does not exist

console.log( [
    window.hasOwnProperty( "foo" ), // true
    window.hasOwnProperty( "bar" ), // true
    window.hasOwnProperty( "baz" ), // true
    window.hasOwnProperty( "qux" )  // false
] );

Lo bueno de hasOwnProperty() es que al llamarlo, no usamos una variable que aún no esté declarada, lo cual, por supuesto, es la mitad del problema en primer lugar.

Aunque no siempre los Perfecto o ideal solución, en determinadas circunstancias, ¡es solo el trabajo!

Lo anterior es cierto cuando se usa var para definir una variable, Opuesto a let cuales:

declara una variable local de alcance de bloque, inicializándola opcionalmente a un valor.

es diferente al var palabra clave, que define una variable globalmente o localmente a una función completa independientemente del alcance del bloque.

En el nivel superior de programas y funciones, let, diferente a var, no crea una propiedad en el objeto global.

Por completitud: const las constantes, por definición, no son realmente variables (aunque su contenido puede serlo); más relevante:

Las constantes globales no se convierten en propiedades del objeto de ventana, a diferencia de var variables. Se requiere un inicializador para una constante; es decir, debe especificar su valor en la misma declaración en la que se declara.

El valor de una constante no puede cambiar mediante la reasignación y no se puede volver a declarar.

La declaración const crea una referencia de solo lectura a un valor. No significa que el valor que tiene sea inmutable, solo que el identificador de variable no se puede reasignar.

Ya que let variables o const Las constantes nunca son propiedades de ningún objeto que haya heredado la hasOwnProperty() método, no se puede utilizar para comprobar su existencia.

Respecto a la disponibilidad y uso de hasOwnProperty():

Cada objeto descendió de Objeto hereda el hasOwnProperty() método. […] a diferencia del in operador, este método no comprueba la cadena de prototipos del objeto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Función de biblioteca C – system ()

gfg 200x200 min

¿Cómo hacer que los elementos floten hacia el centro?