Tengo un bloque de JavaScript en el que, en particular, this.id se resuelve en undefined.

La consola indica que this se resuelve en el objeto methods. Originalmente pensé que se resolvería en item. Mi pregunta es, en mi método buy, ¿cómo accedo a la propiedad id? Tenga en cuenta que NO quiero mover buy fuera del objeto methods. Estoy trabajando para entender esto.

const item = {
  id: 5,
  methods: {
    buy() {
      alert('buying item ' + this.id);
      console.log(this);
    }
  }
};

const myButton = document.getElementById('myButton');
myButton.addEventListener('click', () => {
  item.methods.buy();
});
<button id="myButton">
Buy
</button>
-1
Dev 25 ago. 2020 a las 15:13

1 respuesta

La mejor respuesta