Implementing optional chaining operator (?) in JavaScript #javascript #typescript #coding #programming #react

Posted by

Operador de optional chaining (?) en JavaScript

Operador de optional chaining (?) en JavaScript

El operador de optional chaining (?) es una característica introducida en JavaScript y TypeScript que nos permite acceder a propiedades de un objeto de forma segura, evitando errores en caso de que alguna de esas propiedades no esté definida.

Este operador es especialmente útil en situaciones donde no estamos seguros si un objeto tendrá todas las propiedades necesarias para nuestro código, como por ejemplo al recibir datos de una API o al trabajar con datos provenientes de formularios.

Veamos un ejemplo de cómo utilizar el operador de optional chaining en JavaScript:

            const persona = {
              nombre: 'Juan',
              edad: 30
            };
            
            const ciudad = persona.direccion?.ciudad; // Acceso seguro a la propiedad 'ciudad'
            
            console.log(ciudad); // Output: undefined
        

En este ejemplo, estamos accediendo a la propiedad ‘ciudad’ de la propiedad ‘direccion’ de un objeto ‘persona’. Gracias al operador de optional chaining (?), si la propiedad ‘direccion’ no está definida o si la propiedad ‘ciudad’ no está definida dentro de ‘direccion’, el resultado será ‘undefined’ en lugar de lanzar un error.

El operador de optional chaining puede ser combinado con el operador de nullish coalescing (??) para proporcionar un valor por defecto en caso de que la propiedad accedida sea ‘undefined’ o ‘null’. Esta combinación nos permite escribir un código más eficiente y seguro.

En resumen, el operador de optional chaining (?) en JavaScript y TypeScript nos permite acceder a propiedades de objetos de forma segura, evitando errores causados por propiedades indefinidas. Esta característica es especialmente útil en situaciones donde la estructura de los datos puede ser variable o incompleta.

0 0 votes
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@MX7681
7 months ago

👍

@bryamalfaro
7 months ago

Interesante, en algunos casos muy util en otros podria generar errores