Название фичи: var
Решаемая проблема:
Объявление не типизированной переменной.
Необходимо учесть:
Правила области видимости: объявления var доступны внутри содержащей их функций / модуля / глобальной области видимости, несмотря на блок, в котором они содержаться.
Это причина образования нескольких видов ошибок / последствий:
Возможность объявить одну и ту же переменную несколько раз;
Ошибка при замыкании функций
Несколько переменных с одинаковым именем на самом деле ссылаются все только на одну и туже переменную.
Аналог в c# / js: var
Как решилась проблема:
Возник let
Синтаксис:
var x;