• #Aplicaciones
  • #Bases de datos
  • #Dispositivos
  • #Hardware
  • #Inversión
  • #Marketing
  • #Programacion
  • #Sistemas
  • Cómo comprobar si una propiedad existe en JavaScript

    TutorialesJavascriptProgramacion

    En este breve tutorial vamos a ver cómo comprobar si una propiedad o una clave existe en un objeto en JavaScript.

    Para ello vamos a proponer el siguiente ejemplo:

    const persona = {
      nombre: 'Edu'
    }

    Existen varias formas de saberlo, que son las que veremos a continuación.

    El operador in

    El uso del operador in es el que suele usar para saber si una determinada clave está en un objeto.. Para comprobar si la propiedad nombre existe en el objeto persona de nuestro ejemplo, puedes realizar la operación 'nombre' in persona, que en este caso devolverá el valor true:

    const existe = 'nombre' in persona;
    console.log(existe); // true

    También puedes realizar la siguiente comparación:

    if ('nombre' in persona) {
      console.log('Existe'); //true
    }

    En caso de que la propiedad no exista, el operador in devolverá false como resultado.

    Cuando utilizas herencia de objetos, el operador in devolverá true incluso en el caso de que la propiedad sea heredadas de los ancestros del objeto, siempre y cuando la propiedad exista en alguno de ellos, claro está.

    El método hasOwnProperty

    Otra forma de saber si una propiedad existe, consiste en usar el método hasOwnProperty, incluido por defecto en todos los objetos de JavaScript. La operación persona.hasOwnProperty('nombre') devolverá también el valor true:

    const existe = persona.hasOwnProperty('nombre');
    console.log(existe); // true

    Usando el método en un condicional::

    if (persona.hasOwnProperty('nombre')) {
      console.log('Existe'); // true
    }

    En caso de que la propiedad no exista, el resultado será false.

    A diferencia del operador in, el método hasOwnProperty() no funcionará con las propiedades heredadas. Solamente se devolverá true siempre y cuando la propiedad exista directamente en el objeto sobre el que se ejecuta el método. Si la propiedad existiese en un ancestro y no en el propio objeto, el resultado del método sería false.

    Consideraciones adicionales

    Existe también un método que puedes seguir para definir valores por defecto para ciertas propiedades en caso de que no existan. Por ejemplo, vamos a crear una nueva variable y a asignarle las propiedades nombre y apellido del objeto persona de nuestro ejemplo:

    const empleado = {
      nombre: persona,nombre,
      apellido: persona.apellido || 'Ninguno'
    }

    En este caso, dado que la propiedad apellido no existe en el objeto persona, el valor de empleado.apellido tendrá como valor la cadena 'Ninguno'.

    Y esto ha sido todo.

    Deja una respuesta

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

    Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

    https://twitter.com/neeonez