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ística | Notación Punto | Notación Corchetes |
---|---|---|
Acceso a propiedades | Sí | Sí |
Uso de variables | No | Sí |
Nombres de propiedades | Limitado | Cualquiera |
Legibilidad | Más legible | Menos 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"
Ventajas de la notación punto
- Claridad: Es más fácil de leer y entender.
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"
Ventajas de la notación corchetes
- Nombres dinámicos: Permite acceder a propiedades con nombres dinámicos (que no conoces hasta la ejecución)
- Caracteres especiales: Permite acceder a propiedades con caracteres especiales (por ejemplo, espacios).
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