wordsTracker - Problem 1 JavaScript

Здравейте,

пускам pastebin на решение на задача 1 от домашното за Associative Arrays - https://pastebin.com/G7w0GEAx  

Задачата я разбрах и получавам 100/100, но едно не разбрах - каква е разликата между закоментирания код (този, които първоначално написах и получих верен отговор, но само 40/100) и кодът, който е над закоментирания?

Кодът над закоментирания е следния (за да няма объркване, какво питам конкретно):

  1. for (let word of lookUpWords) {

  2. wordAssoc[word] = 0;

  3. }

  4. for (let word of input) {

  5. if (wordAssoc.hasOwnProperty(word)){

  6. wordAssoc[word]++

  7. }

  8. }

Ще съм благодарен ако някой се опита да ми обясни :)