в соответствии с NPM Doc
Таким образом, кажется, что при запуске npm install package_name
зависимость пакета должен автоматически добавляться в package.json, верно?
Это предположение, но инициализация полей уровня класса должна выполняться как часть процесса инициализации (конструктора) для Type, тогда как инициализация переменной уровня метода происходит при построении стекового фрейма метода. Возможно, различие связано с тем, как эти процессы компилируются (как создается их реализация) внутри фреймворка.
Я вижу две причины:
var
для полей, тело выражения инициализатора поля будет влиять на тип поля и, следовательно, на многие другие методы. Так что он не очень хорошо подходит для дизайна компилятора.