I consoled out the this keyword (pls refer the code) but for div the console out was different and for Input tag it's different. Wondering why?
(function(){
document.addEventListener('DOMContentLoaded', function(){
const complement = new Complement();
complement.generateRandomNumber();
complement.events();
});
class Complement{
constructor(){
this.firstInt = document.getElementById('firstint') //this is div
this.secondInt = document.getElementById('secondint') //this is input
this.sumInt = document.getElementById('sumint')
}
events = function(){
this.secondInt.addEventListener('keyup', this.checkFields)
}
}
Complement.prototype.generateRandomNumber = function(){
**console.log(this) //this refers to the Class Complement. why?**
let randonFirstInt = Math.floor(Math.random()*100)
//assign random number to first integer
this.firstInt.textContent = randonFirstInt;
}
Complement.prototype.checkFields = function() {
**console.log(this) //this refers to the input tag. why?**
let secondIntInput = this.value
console.log(secondIntInput)
}
})()