javascript-notacion-punto-y-corchetes

Notación punto o corchetes en JavaScript

Dos de las formas más comunes de acceder a las propiedades de un objeto son la notación punto y la notación corchetes.

Cada método tiene sus ventajas y desventajas, así que vamos a ver cuando usar cada una de ellos 👇

CaracterísticaNotación PuntoNotación Corchetes
Acceso a propiedades
Uso de variablesNo
Nombres de propiedadesLimitadoCualquiera
LegibilidadMás legibleMenos legible

Notación punto

La notación punto es la forma más común de acceder a las propiedades de un objeto. Se utiliza el nombre del objeto seguido de un punto y luego el nombre de la propiedad.

objeto.propiedad
  • objeto: El objeto que contiene la propiedad.
  • propiedad: El nombre de la propiedad a la que se desea acceder.

Por ejemplo,

const estudiante = {
  nombre: "Luis",
  edad: 30
};

Para acceder a la propiedad nombre:

estudiante.nombre; // "Luis"

Notación corchetes

La notación corchetes permite acceder a las propiedades de un objeto utilizando una cadena (string) dentro de corchetes.

objeto[propiedad]
  • objeto: El objeto que contiene la propiedad.
  • “propiedad”: El nombre de la propiedad entre comillas, o una expresión que se evalúa a una cadena de texto.

Esta forma es algo menos cómoda, pero es útil en ciertos casos. Por ejemplo cuando el nombre de la propiedad contiene caracteres no válidos para la notación punto.

Vamos a verlo también con un ejemplo. Para acceder a la propiedad nombre usando la notación corchetes haríamos,

estudiante["nombre"]; // "Luis"

Cuando usar notación corchetes

En general vamos a usar la notación punto principalmente. Usaremos los corchetes cuando tengamos un caso en el que no podemos usarla.

Vamos a verlos.

Propiedades con caracteres especiales

La notación corchetes es necesaria si el nombre de la propiedad contiene caracteres especiales o espacios.

const persona = {
"nombre completo": "Ana Pérez"
};

persona["nombre completo"]); // "Ana Pérez"

persona.nombre completo   // ❌ No puedo hacer eso, por el espacio 

Propiedades dinámicas

Cuando el nombre de la propiedad se determina en tiempo de ejecución.

const propiedad = "edad";

persona[propiedad]; // 21

persona.¿?¿?¿? // ❌ No sabríamos que poner ahí

Propiedades computadas Puedes usar expresiones dentro de los corchetes para acceder a propiedades que se generan dinámicamente.

const indice = 2; // imagina que lo seleciona el usuario
const propiedades = ["nombre", "edad", "profesion"];

persona[propiedades[indice]];

En realidad es el mismo caso que el anterior