¿Por qué de output me salta con “Hola, me llamo undefined undefined” y “undefined no es una persona alta” cuando ejecuto yury.saludar() ...

Yury D. Morales

Yury D. Morales

Pregunta
studenthace 6 años

¿Por qué de output me salta con “Hola, me llamo undefined undefined” y “undefined no es una persona alta” cuando ejecuto yury.saludar() y yury.soyAlto()?

function Persona (nombre, apellido, altura) { this.nombre = nombre this.apellido = apellido this.altura = altura } Persona.prototype.saludar = () => { console.log(`Hola, me llamo ${this.nombre} ${this.apellido}`) } Persona.prototype.soyAlto = () => { console.log(`${this.nombre} ${this.altura >= 1.8 ? 'es una persona' : 'no es una persona'} alta`) } var sacha = new Persona ('Sacha', 'Lifszyc', 1.8) var erika = new Persona ('Erika', 'Luna', 1.4) var yury = new Persona ('Yury', 'Morales', 1.9)
2 respuestas
para escribir tu comentario
    Jonathan Gonzalez Botero

    Jonathan Gonzalez Botero

    studenthace 6 años

    @victorLozada como hiciste para grabar por pantalla lo que haces? awesome como lo hiciste

    Victor Lozada

    Victor Lozada

    studenthace 6 años

    Hola yury, debes usar las funciones normales

    function () {}
    para declarar metodos con
    prototype
    solo en caso de que quieras trabajar con
    this
    claro. Lo que ocurre es que las arrow functions toman como scope a
    window
    .

    Puedes probarlo tu mismo de esta forma:

    Persona.prototype.test = () => { console.log(this) } Persona.prototype.test1 = function (){ console.log(this) } sacha.test() sacha.test1()

    Veras algo así:

    Espero haberte ayudado ! 😀

Fundamentos de JavaScript 2018

Fundamentos de JavaScript 2018

JavaScript es un lenguaje de programación que se trabaja desde el navegador. Construye programas, conoce el entorno, los condicionales y las estructuras repetitivas. Aprende cuáles son y cómo se declaran las variables y las funciones de JS.

Fundamentos de JavaScript 2018
Fundamentos de JavaScript 2018

Fundamentos de JavaScript 2018

JavaScript es un lenguaje de programación que se trabaja desde el navegador. Construye programas, conoce el entorno, los condicionales y las estructuras repetitivas. Aprende cuáles son y cómo se declaran las variables y las funciones de JS.