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

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:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Créditos de la imagen http://dbbeebom