title: Could someone poin-out why this works (JS , .bind() )
body: <p>can someone point out why the next code as soon as I open the live server webpage prompts me to input the number ( the one without .bind()) while the one with bind works flawlessly?</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>let chooseNumber;
  const poll = {
    question: ' What is your favorite programming language?',
    options: ['0 : JavaScript', '1:Python', '2: Rust', '3:C++'],
    //This generates [0,0,0,0]. More In the next section :D
  
    answers: new Array(4).fill(0),
    registerNewAnswer: function () {
      chooseNumber = prompt(`${this.question} \n ${this.options}`);
  
      if (chooseNumber &gt;= 0 &amp;&amp; chooseNumber &lt; 4) {
        this.answers[chooseNumber] = this.answers[chooseNumber] + 1;
      }
      console.log(this.answers);
      console.log('Munem');
    },
  };
  
  document
    .querySelector('.poll')
    .addEventListener('click', poll.registerNewAnswer.bind(poll)); //works
  //
  // document
  //   .querySelector('.poll')
  //   .addEventListener('click', poll.registerNewAnswer());
  //doesn't work</code></pre>
  </div>
  </div>
  </p>