'var' и 'let' в Typescript 1.5
В чем же разница между использованием " var" или " let" в Typescript? Я знаю, что "пусть" позволяет определять переменную далее в область без ее использования за пределами указанной области. Это, очевидно, хорошее преимущество для итераторов для циклов. Я знаю, что это определение ES6, поэтому компиляция на ES6 должна выглядеть почти идентичной с точки зрения "var" и "let" .
Но когда он компилируется в javascript ES5, который не поддерживает "let" , что именно происходит? Существуют ли странные имена переменных, которые создает компилятор, чтобы предотвратить использование указанных переменных в контексте файла Typescript? Что происходит в ситуациях, когда вы определяете множество переменных "let" во всей функции? Есть ли влияние на производительность, о котором я должен беспокоиться?
В принципе, , что происходит, когда Typescript компилирует, разрешает переменные в javascript ES5?
Ответы
Ответ 1
Самый простой способ найти ответы на эти вопросы, чтобы попробовать его на TypeScript Игровая площадка.
TypeScript переименовывает переменные в пределах области блока. Нет накладных расходов на производительность по сравнению с использованием обычных переменных, определенных с помощью var
.
Этот код:
var i = 0;
for (let i = 0; i < 5; i++) {}
i++;
Скомпилируется:
var i = 0;
for (var i_1 = 0; i_1 < 5; i_1++) { }
i++;
Здесь есть дополнительная информация о let
.