Seleccionar dinámicamente un método de un objeto en JavaScript

📅 17/01/2025 👤 Julio Fuente 📂 programar

Main Image

Aprenda a acceder a un método de un objeto de forma dinámica en JavaScript

A veces tienes un objeto y necesitas llamar a un método, o a un método diferente, dependiendo de alguna condición.

Por ejemplo, tienes un carobjeto y quieres hacerlo drive()o park()hacerlo, dependiendo del driver.sleepyvalor.

Si el conductor tiene un nivel de sueño superior a 6, debemos aparcar el coche antes de que se duerma mientras conduce.

Aquí te explicamos cómo lograr esto con una if/elsecondición:

if (driver.sleepy  6) {  car.park()} else {  car.drive()}

Vamos a reescribir esto para que sea más dinámico.

Podemos usar el operador ternario para elegir dinámicamente el nombre del método y obtenerlo como valor de cadena.

Usando corchetes podemos seleccionarlo entre los métodos disponibles del objeto:

car[driver.sleepy  6 ? 'park' : 'drive']

Con la declaración anterior obtenemos la referencia del método. Podemos invocarlo directamente añadiendo los paréntesis:

car[driver.sleepy  6 ? 'park' : 'drive']()

Tips para principiantes de JavaScript




Tal vez te puede interesar:

  1. Cómo generar un número aleatorio entre dos números en JavaScript
  2. Cómo esperar el evento DOM listo en JavaScript simple
  3. Cómo determinar si una fecha es hoy en JavaScript
  4. Cómo contar el número de propiedades en un objeto JavaScript

Créditos de la imagen http://dbbeebom