Classes

  • this

Objetos não contem um escopo próprio.

Fazendo dessa forma, o this referencia o window, que é escopo global.

Arrow functions não se conectam com o this da mesma forma que function declaration.

const person = {
    name: "Nicollas",
    getName: () => {
        return this.name
    }
}

console.log(person.getName()) // undefined

Fazendo assim, funciona corretamente

const person = {
    name: "Nicollas",
    getName: function() {
        return this.name
    }
}

console.log(person.getName())  // Nicollas

Evitando o this

  • Prototype

Em JavaScript, quando um objeto é criado, ele possui automaticamente uma propriedade que referencia um outro objeto. Esse outro objeto é chamado de prototype. Todo objeto em JavaScript herda propriedades e métodos do seu prototype ascendente. Ou seja, o objeto acessa propriedades e métodos do seu protótipo ascendente. Essas propriedades não pertencem ao objeto em si, mas sim ao prototype do objeto.

  • Desestruturação de objetos

Se quiser renomear, pode-se utilizar:

  • JSON

  • POO

  • super, constructor, extends

  • static

  • get/set

Last updated

Was this helpful?