¡Te damos la bienvenida a este reto!

1

¡Bienvenido al mundo de JavaScript!

Día 1

2

Variables, funciones y sintaxis básica

3

Tipos de datos

4

Playground - Retorna el tipo

5

Tipos de datos - pt 2

Día 2

6

Operadores

7

Hoisting y coerción

8

Playground - Calcula la propina

9

Alcance de las variables

Día 3

10

Condicionales

11

Playground - Calcula años bisiestos

12

Switch

13

Playground - Obten información de mascotas según su tipo

14

Ciclos

15

Playground - Dibuja un triangulo

Día 4

16

Arrays

17

Playground - Encuentra al michi mas famoso

18

Objetos

19

Playground - Obten el promedio de los estudiantes

Día 5 - Checkpoint

20

Playground - encuentra el palindromo más grande

Día 6

21

Reasignación y redeclaración

22

Modo estricto

Día 7

23

Debugging y manejo de errores

24

Programación funcional

Quiz: Día 7

Día 8

25

Closures

26

Playground - Crea una calculadora con closures

27

Higher order functions

28

Playground - Crea tu propio método map

Día 9

29

ECMAScript

30

TC39

Quiz: Día 9

Día 10 - Checkpoint

31

ES6

32

ES7

33

Playground - Task planner

Día 11

34

Asincronismo

35

Playground - Promesas

36

Manejando el asincronismo

37

Playground - Resuelve el callback hell usando promesas

38

Playground - Resuelve el callback hell usando async/await

Día 12

39

Arrays a profundidad

40

Métodos de arrays: Every, Find y findIndex

41

Playground - Válida el formulario

Día 13

42

Métodos de arrays: Includes, Join y concat

43

Playground - agrupa los productos

44

Métodos de arrays: Flat y FlatMap

45

Playground - Encuentra la ubicación del valor buscado

Día 14

46

Mutable functions

47

Playground - Modifica una lista de compras

48

Métodos de arrays: sort

49

Playground - Ordena los productos

Día 15 - Checkpoint

50

Playground - Sistema de reservaciones de un hotel

Día 16

51

Programación orientada a objetos en JavaScript

52

Objetos literales

53

Playground - Congela el objeto recursivamente

Día 17

54

Prototipos en JavaScript

55

Playground - Modifica el prototype de los arrays

56

Playground - Crea un auto usando clases

Día 18

57

Abstracción en JavaScript

58

Playground - Sistema de carrito de compras

59

Encapsulamiento en JavaScript

60

Playground - Encapsula datos de los usuarios

Día 19

61

Herencia en JavaScript

62

Playground - Jerarquía de animales

63

Polimorfismo en JavaScript

64

Playground - Sistema de pagos

Día 20 - Checkpoint

65

Playground - Agenda de vuelos

Día 21

66

Patrones de diseño

67

Sinlgeton y Factory pattern en JavaScript

68

Playground - Implementa singleton en un chat

Día 22

69

Adapter y Decorator pattern en JavaScript

70

Playground - Personaliza productos de una tienda

71

Builder y Protype pattern en JavaScript

72

Playground - Mejora el código usando builder pattern

Día 23

73

Facade y proxy pattern en JavaScript

74

Playground - Proxy en servicio de mensajería

75

Chain of responsability y Observer pattern en JavaScript

76

Playground - Implementación de Observador en Newsletter

Día 24 - Checkpoint

77

Playground - Crea un task manager con patrones de diseño

Día 25

78

Estructuras de datos en JavaScript

79

Playground - Crea tu propia implementación de un array

80

Hash tables en JavaScript

81

Playground - Implementación de una HashTable para Contactos

Día 26

82

Set en JavaScript

83

Playground - Remueve duplicados de una lista

84

Maps en JavaScript

85

Playground - Crea un organizador de tareas

Día 27

86

Singly Linked List en JavaScript

87

Playground - Agrega métodos a la singly linked list

88

Playground - Implementación de una singly linked list

Día 28

89

Stacks en JavaScript

90

Playground - Crea un stack para una playlist

Día 29

91

Queues en JavaScript

92

Playground - Crea una cola de emails

Día 30

93

¡Lo lograste!

Live Class

94

30 días de JS con Juan DC

95

30 días de JS con Nicobytes

96

30 días de JS con GNDX

97

30 días de JS con LeoCode

98

30 días de JS con Teffcode

99

Sesión: Cierre de los 30 días de JavaScript

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Playground - Crea un auto usando clases

56/99

Aportes 49

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

export class Car {
  // Tu código aquí 👈
  brand;
  model;
  year;
  mileage;
  state = false;

  constructor(_brand, _model, _year, _mileage) {
    this.brand = _brand
    this.model = _model
    this.year = _year
    this.mileage = _mileage
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }
  
  drive(km) {
    if (!this.state) throw new Error("El auto está apagado")
    this.mileage += km
  }
}


.
.
.
.
.
.

export class Car {
    constructor(
      brand,
      model,
      year,
      mileage = 0,
      state = false
    ) {
      this.brand = brand;
      this.model = model;
      this.year = year;
      this.mileage = mileage;
      this.state = state;
    }
  
    turnOn() {
      this.state = true;
    }
  
    turnOff() {
      this.state = false;
    }

    drive(kilometers) {
      if (!this.state) {
        throw new Error("El auto está apagado")
      } else {
        this.mileage += kilometers;
        return this.mileage;
      }
    }
}

Mi Solucion:
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {

    if (this.state) {
      this.mileage  += kilometers;
    } else {
      throw new Error('El auto está apagado')
    }
    
  }

}

Mi solucion:

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(km) {
    if (this.state) {
      this.mileage += km;
      return km;
    }

    throw new Error('El auto está apagado');
  }
}

Un ejercicio bastante sencillo. Continuo haciendo este comentario para futuras mejoras… Se tiene que mejorar si o si la redacción en los ejercicios.
Ejemplo, nunca se menciono que era necesario retornar la data de los vehículos y para esto una de las posibles soluciones era implementar un nuevo método que devolviera estos valores.

He aprendido muchas cosas del curso, pero ese tipo de detalle puede hacer que para algunos el aprendizaje sea frustrante. Hago este comentario amistoso, porque trabajo en el área y se que en la vida de programador estos tipos de cosas pasan, pero para una persona que apenas esta conociendo de programación, encontrarse con este tipo de situaciones puede desanimarlo.

En fin 😃 les comparto mi solución:

Mi aporte

export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }

  turnOn() {
    this.state = true;
    return this.state;
  }

  turnOff() {
    this.state = false;
    return this.state;
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
      return;
    }
    throw new Error('El auto está apagado');
  }
}

Por si les ayuda.
Recuerde chechar bien la ortografia en el mensaje de error que devuelven, por que eso hacia que no me marque correcto el reto

Solución al desafio JS:

🛡️🛡️🛡️Escudo anti spoilers🛡️🛡️🛡️

Crea un auto usando clases

export class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage, state = false) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
      return;
    }
    throw new Error("El auto está apagado");
  }
}
export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

Mi solución 💚

.
.
.

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (!this.state)
      throw new Error("El auto está apagado")
    this.mileage+=kilometers
  }

}
export class Car {
  constructor(brand, model, year, mileage, state = false) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(km) {
    if (this.state) {
      this.mileage += km;
      return this.mileage;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

export class Car {
  // Tu código aquí 👈
  state = false;
  constructor(brand, model, year, mileage, state) {
    
    
    this.brand = brand
    this.model = model;
    this.mileage = mileage;
    this.year = year
  }

  turnOn() {
    this.state = true
  }
  turnOff() {
    this.state = false
  }
  drive(km) {
    if (this.state) {
      this.mileage += km
    } else throw new Error('El auto está apagado')
  }
}

Mi aporte:
|
|
|
|
|
|
|
|
|
|
|
|
|

export class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage, state=false) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state !== false) {
      this.mileage = kilometers;
    } else {
      throw new Error('El auto está apagado');
    }
  }
}

Hola Comparto mi solución.



















export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }

  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if(this.state) {
      this.mileage += kilometers;
      return;
    }

    throw new Error("El auto está apagado");
  }

}

export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(km) {
    if (this.state) {
      this.mileage += km;
    } else {
      throw new Error("El auto está apagado")
    }
  }
}

Comparto mi solucion:

Mi solución:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado")
    }
  }
}

Si pude gracias…

export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (!this.state) throw new Error("El auto está apagado")
    this.mileage += kilometers;
  }
}

🛡️🛡️Escudo anti-spoilers🛡️🛡️

Mi solución al reto:

export class Car {
  brand = ''
  model = ''
  year = ''
  mileage = ''
  state = false

  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }

  turnOn() {
    this.state = true
  }

  turnOff() {
    this.state = false
  }

  drive(kilometers) {
    if (!this.state) throw new Error("El auto está apagado")
    this.mileage += kilometers
    return this.mileage
  }

}

Solucion

class Car {
    constructor(brand, model, year,) {
        this.brand = brand;
        this.model = model;
        this.year = year;
        this.mileage = 0;
        this.state = false;
    }

    turnOn() {
        console.log("Car turned on! No pun intended")
        this.state = true;
    }

    turnOff() {
        console.log("Car turned off! No pun intended");
        this.state = false;
    }

    drive(miles) {
        if (this.state === false) {
            const error = new Error("Error: Car is turned off...");
            console.log(error.message)
            return
        }
        this.mileage += miles
        return this.mileage
    }
}

Esta es mi solución

class Car {
    constructor(brand, model, year, mileage)
    {
        this._brand      = brand;
        this._model      = model;
        this._year       = year;
        this._mileage    = mileage;
        let state        =  false;
    }

    get mileage()
    {
        return this._mileage;
    }
    set mileage(newMileage)
    {
        this._mileage = newMileage;
    }


    get brand()
    {
        return this._brand;
    }

    set brand(newBrand)
    {
        this._brand = newBrand;
    }

    get model()
    {
        return this._model;
    }
    set model(newModel)
    {
        this._model = newModel;
    }

    get year()
    {
        return this._year;
    }

    set year(newYear)
    {
        this._year = newYear;
    }
    
    turnOn()
    {
       this.state = true; 
    }

    turnOff()
    {
        this.state = false; 
    }

    drive(kilometers)
    {
        if (this.state)
        {
            this.mileage += kilometers;
        }
        else
        {
            throw new Error('El auto está apagado');
        }
    }

   

  }
 

,
,
,
,
,
,
,
,
,
,
,
,

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}
export class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
    return this.state
  }

  turnOff() {
    this.state = false;
    return this.state;
  }

  drive(kilometers) {
    if (!this.state) {
      throw new Error("El auto está apagado")
    }

    this.mileage += kilometers;
    return this.mileage;
  }
}

My solution

export class Car {
  constructor(
    _brand,
    _model,
    _year,
    _mileage,
    _state,
  ) { 
    this.brand = _brand;
    this.model = _model;
    this.year = _year;
    this.mileage = 0;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw Error("El auto está apagado")
    }
  }
}

¡Hola 😃!

Mi solución,
Se detalla hasta abajo.⬇











export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

mi solucion
+
+
+
+
+
+
+
+
+
+

export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    return this.state = true;
  }

  turnOff() {
    return this.state = false;
  }

  drive(kilometers) {
    if (this.state === true) {
      this.mileage += kilometers;
      return this.mileage;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

Mis solucion, pero me marcaba error solo por un acento, que raro
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

export class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }
  turnOn() {
      this.state = true;
  }
  turnOff() {
      this.state = false;
  }
  drive(vel) {
    if (!this.state) 
      throw new Error('El auto está apagado');
    this.mileage += vel;
  }
}

En el constructor de la clase, se definen las propiedades brand, model, year, mileage y state. El estado por defecto del auto es false, indicando que se encuentra apagado.

El método turnOn cambia el estado del auto a true, indicando que se encuentra encendido.

El método turnOff cambia el estado del auto a false, indicando que se encuentra apagado.

El método drive recibe como parámetro los kilómetros que se desean agregar al kilometraje del auto. Primero verifica si el auto está encendido (estado igual a true). Si el auto está encendido, agrega los kilómetros al kilometraje actual. Si el auto está apagado, lanza un error indicando que el auto está apagado.

En el ejemplo 1, se crea un nuevo objeto toyota de la clase Auto y se llama a los métodos turnOn y drive para aumentar el kilometraje. Finalmente, se muestra el kilometraje actual del auto.

En el ejemplo 2, se crea un nuevo objeto toyota de la clase Auto, se llama al método turnOff para apagar el auto y luego se llama al método drive para intentar aumentar el kilometraje. Como el auto está apagado, se muestra un error indicando que el auto está apagado.

class Auto{
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

const toyota = new Auto("Toyota", "Corolla", 2020, 0);
toyota.turnOn();
toyota.drive(100);
toyota.mileage

const toyota = new Auto("Toyota", "Corolla", 2020, 0);
toyota.turnOff()
toyota.drive(100)

Aquí mi solución:
.
.
.
.
.
.
.
.
.
.
.
.

class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand
    this.model = model
    this.year  = year
    this.state = false
    this.mileage = mileage
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state){
      this.mileage += kilometers;
      return this.mileage;
    } else {
      throw new Error("El auto está apagado");
    }
    
  }
}

Aquí dejo mi aporte… 😃

class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

Aquí dejo mi aporte… 😃

class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
}

Mi solución:

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw Error("El auto está apagado");
    }
  }
}

estuvo bastante chevere y me salio de una:

  constructor(brand, model, year, mileage) {
    this.brand = brand,
      this.model = model,
      this.year = year,
      this.mileage = mileage,
      this.state = false
  };
  turnOn() {
    this.state = true
  };
  turnOff() {
    this.state = false
  };
  drive(kilometers) {
    if (this.state === true) {

      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado");
    }
  }
  
}

the sol:

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
    console.log("thurnOn", this.state)
  }

  turnOff() {
    this.state = false;
    console.log("turnOff", this.state)
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
      console.log(this.mileage)
      return this.mileage;
    } else {
      console.log(this.mileage)
      throw new Error('El auto está apagado')
    }
  }

}

Mi solución
.
.
.
.
.
.

export class Car {
  constructor(brand, model, year, mileage, state=false) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(km) {
    if (this.state) {
      this.mileage += km;
    }
    else {
      throw new Error("El auto está apagado");
    }
  }
}

++
+
+
+
++
+
+
+
+
++
+
+
+
++
+
+

export class Car {
  constructor(brand, model, year, mileage, state) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
    this.state = false;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    }
    else {
      throw new Error("El auto está apagado");
    }
  }
}

Mi solución:

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand
    this.model = model
    this.year = year
    this.mileage = mileage
    this.state = false
  }
  turnOn() { this.state = true }
  turnOff() { this.state = false }
  drive(kilometers) {
    if (!this.state) { throw new Error("El auto está apagado.") }
    this.mileage += kilometers
  }
}

MI SOLUCION 💪
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

export class Car {
  constructor(brand, model, year, mileage = 0) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state) this.mileage += kilometers;
    else throw new Error("El auto está apagado");
  }
}

Dejo mi solución:
.
.
.
.
.
.
.
.
.
.

export class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() { this.state = true; }

  turnOff() { this.state = false; }

  drive(distance) {
    if (!this.state) throw new Error("El auto está apagado");
    this.mileage += distance;
  }
}

MI solución:

class Car {
  constructor(brand,model,year,mileage,state=false){
      this.brand=brand;
      this.model=model;
      this.year=year;
      this.mileage=mileage;
      this.state=state;
  }
  turnOn(){
    this.state=true;

  }
  turnOff(){
    this.state=false;
  }
  drive(kilometers){
    if(this.state){
      this.mileage=kilometers;
    }else{
      throw new Error("El auto está apagado")
    }
  }
}

Solución… 😄
.
Para resolver el ejercicio, creamos el constructor pasando los parámetros correspondientes, donde la propiedad state será falsa por defecto.
.
Creamos los métodos correspondientes.
.
En turnOn y turnOff cambiaremos el estado de la propiedad state.
.
En drive(kilometers) comparamos si el auto está apago, si cumple lanzamos un error, sino sumamos los kilometros al kilometraje del auto.
.

export class Car {
  constructor(brand, model, year, mileage) { 
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }

  turnOn() { 
    this.state = true;
  }

  turnOff() { 
    this.state = false;
  }

  drive(kilometers) { 
    if (!this.state) { 
      throw new Error("El auto está apagado");
    }
    this.mileage += kilometers;
  }
}

Les dejo mi solución
 
 
 
 
 
 
 
 

export class Car {
  constructor(brand, model, year, mileage, state=false) {
    this.brand = brand
    this.model = model
    this.year = year
    this.mileage = mileage
    this.state = state
  }

  turnOn() {
    this.state = true
  }

  turnOff() {
    this.state = false
  }

  drive(kilometers) {
    if (this.state) this.mileage += kilometers
    else throw new Error("El auto está apagado")
  }
}

mi solución:

class Car{
    constructor(marca, modelo, anio, tacometro){
        this.brand   = marca;
        this.model   = modelo;
        this.year    = anio;
        this.mileage = tacometro;
        this.state   = false;
    }
    turnOn(){
        this.state = true;
    }
    turnOff(){
        this.state = false;
    }
    drive(kilometers){
        if (this.state)
            this.mileage += kilometers;
        else
            throw new Error("El auto está apagado");
    }
}

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
facilito

export class Car {
  constructor(brand, model, year, mileage) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = false;
  }
  turnOn() {
    this.state = true;
  }
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) {
      this.mileage += kilometers;
    } else {
      throw new Error("El auto está apagado")
    }
  }
}

Hola, dejo mi solucion
Caminito anti spoilers
🛴✨
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Llegamos 📍

constructor(
        brand,
        model,
        year,
        mileage, 
        state = false
    ){
       this.brand = brand;
       this.model = model;
       this.year = year;
       this.mileage = mileage;
       this.state = state;
    }
    turnOn() {
        this.state = true;
    }
    turnOff() {
        this.state = false;
    }
    drive(kilometers){
        if (this.state) {
            this.mileage += kilometers;
        }else{
            throw new Error("El auto está apagado")
        }
    }

Bueno este reto es sencillo pero debes tener aunque sea las bases de POO, les dejo abajo mi solución:

.
.
.
.
.
.
.
.
.
.
.
.
.

export class Car {
  constructor(brand, model, year, mileage, state = false) {
    this.brand = brand
    this.model = model
    this.year = year
    this.mileage = mileage
    this.state = state
  }

  turnOn() {
    this.state = true
  }
  turnOff() {
    this.state = false
  }

  drive(kilometers) {
    if (this.state) {
      this.mileage += 100
      return
    }
    throw Error("El auto está apagado")
  }
}

Solución.

export class Car {
  // Tu código aquí 👈
  constructor(brand, model, year, mileage, state = false) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }

  turnOn() {
    this.state = true;
  }

  turnOff() {
    this.state = false;
  }

  drive(kilometers) {
    if (this.state)
      this.mileage += kilometers;
    else
      throw new Error("El auto está apagado");
  }
}
export class Car {

  constructor(brand, model, year, mileage, state = false) {
    this.brand = brand;
    this.model = model;
    this.year = year;
    this.mileage = mileage;
    this.state = state;
  }

  turnOn() {
    this.state = true;
}
  turnOff() {
    this.state = false;
  }
  drive(kilometers) {
    if (this.state) this.mileage += kilometers;
    else throw new Error('El auto está apagado')
  }

}
undefined