Hello, este es mi código logre que me creara los 6 carros, pero quisiera crear una variable única para cada carro, de forma que pueda lla...

Pregunta de la clase:
Objects: Función constructora
Nicolay Alexander Corrales Vargas

Nicolay Alexander Corrales Vargas

Pregunta
student
hace 4 años

Hello, este es mi código logre que me creara los 6 carros, pero quisiera crear una variable única para cada carro, de forma que pueda llamar a uno por uno y no tenga que llamarlos a todos dentro del Loops, saben como podría? Gracias

var marcas = ["Mazda", "Toyota", "Mercedes", "Tesla", "Audi", "Jeep"]; var modelos = [2, "Corolla", "Sedan", "X", "Coupe", "Coupe"]; var annios = [2020, 2021, 2017, 2018, 2000,2022]; var qPuertass = [5, 6, 3, 2, 3, 2]; function auto(marca, modelo, anio, qPuertas){ //This is my global function this.marca = marca; this.modelo = modelo; this.anio = anio; this.qPuertas = qPuertas; } for (var n = 0; n < marcas.length; n++){ var autoNuevo = new auto(marcas[n], modelos[n], annios[n], qPuertass[n]); console.log(autoNuevo); }
6 respuestas
    Leonardo Rincon

    Leonardo Rincon

    student
    hace 4 años

    Hola buenas noches, claro que si, mira: La function Auto es la constructora, y la funtion sedan hereda de ella sus atributos, pero anexando uno nuevo que le puse 'tipUnico'

    ya en consola te sale: Screenshot_2.png

    No se si esto resuelve tu duda.

    function Auto(marca, modelo, anio, qPuertas) { //This is my global function this.marca = marca; this.modelo = modelo; this.anio = anio; this.qPuertas = qPuertas; } function sedan(marca, modelo, anio, qPuertas, tipUnico) { this.super = Auto; this.super(marca, modelo, anio, qPuertas); // le digo a la fn que me herede estos parametros de fn Auto que es la constructora. this.tipUnico = tipUnico; } const auto1 = new Auto("Mazdad", "sedan", 2021, 4); // de la fn Auto const auto2 = new sedan("Toyota", "4x4", 2022, 5, "Edition Limitada"); console.log(auto1); console.log(auto2); // de la fn que hereda de fn Auto pero traer un atributo diferente al padre // for (let n = 0; n < marcas.length; n++) { // const autoNuevo = new auto(marcas[n], modelos[n], annios[n], qPuertass[n]); // console.log(autoNuevo); // }```
    Leonardo Rincon

    Leonardo Rincon

    student
    hace 4 años

    jajaja no me fije y tuve un error en escribir Mazda. puse mazdad jejej.

    Nicolay Alexander Corrales Vargas

    Nicolay Alexander Corrales Vargas

    student
    hace 4 años

    @jleobotache Muchas gracias bro creo que entendí lo que me explicas. Sin embargo, lo que quieres es que por ejemplo para el caso inicial, que me asignara una variable diferente para cada carro, con el objetivo que si quiero llamar auto1 me traiga lo de un carro o autoN me traiga lo de otro.

    Es decir, que me asigne auto(X) a cada registro. Por que según entendí, en el ejemplo que me colocas me trae una nueva variable Sedan con la nueva función, y si quiero que me traiga los demás autos con otra variable, como hago o de pronto yo este equivocado?

    console.log(auto1); //Me trajera: auto1 {marca:"Mazda", modelo:2, annio: 2020, qPuertas: 5} console.log(auto2); //Me trajera: auto1 {marca:"Toyota", modelo:"Corolla", annio: 2021, qPuertas: 6}
    Leonardo Rincon

    Leonardo Rincon

    student
    hace 4 años

    claro que se puede debes llamar el nuevo auto creando la instancia de la función constructora y pasando los argumentos que desees ponerle de manera independiente por ejempló:

    const auto1 = new Auto("Mazda", "sedan", 2021, 4); const auto2 = new Auto("toyota", "Hilux", 2021, 4); const auto3 = new Auto("Ford", "Mustang", 2021, 4); const auto4 = new Auto("Kia", "Rio", 2021, 4); // todas son instancias de la función constructora que tu construiste solo que le asignas valores diferente a cada instancia que llamas, ya si lo quieres que sea automático simplemente tomas los array que construiste y los asignas a cada elemento y listo. Pero si quieres que un auto tenga algún atributo diferente a los demás debes crear una nueva función que herede de la principal lo necesario y añada el nuevo atributo. ```
    Nicolay Alexander Corrales Vargas

    Nicolay Alexander Corrales Vargas

    student
    hace 4 años

    mmm Ok, bro entonces es lo que voy a hacer. Muchas gracias por el apoyo.

Curso Básico de JavaScript [Empieza Gratis]

Curso Básico de JavaScript [Empieza Gratis]

Conoce los conceptos clave del lenguaje de programación que se está comiendo al mundo. Aprende qué es una variable, una función, un objeto y dónde se guardan esos valores. Descubre qué es Scope y cómo se utilizan los loops. Obtén las herramientas para saber cómo tomar decisiones y validar acciones. En este curso, darás el primer paso para empezar tu carrera como desarrollador.

Curso Básico de JavaScript [Empieza Gratis]
Curso Básico de JavaScript [Empieza Gratis]

Curso Básico de JavaScript [Empieza Gratis]

Conoce los conceptos clave del lenguaje de programación que se está comiendo al mundo. Aprende qué es una variable, una función, un objeto y dónde se guardan esos valores. Descubre qué es Scope y cómo se utilizan los loops. Obtén las herramientas para saber cómo tomar decisiones y validar acciones. En este curso, darás el primer paso para empezar tu carrera como desarrollador.