Проверьте, что letименно есть: doc .
Я бы порекомендовал вам прочитать эту книгу (бесплатно на github): вы не знаете JS . Это должно помочь вам понять области, закрытие и т. Д.
В основном letключевое слово создает переменную внутри этой конкретной let. varдает вам право объявлять переменные, которые ограничены по объему блоку, выражение выражения в отличие от него var, поэтому footComparerдоступно только внутри этого конкретного блока.
var скорее ключевое слово, которое определяет переменную глобально независимо от области блока.