Каждый, кто когда-то начинал учить язык программирования сталкивался с довольно своеобразной логикой.
А отличие var от let сможете объяснить?