Che cosa è esattamente la differenza tra l'utilizzo di entrambi i 'var' o 'lasciare' a macchina? So che "let" consente alla variabile di essere ulteriormente definita in un ambito senza che venga utilizzata al di fuori di tale ambito. Questo è ovviamente un bel vantaggio per gli iteratori nei loop. So che questa è una definizione ES6, quindi la compilazione su ES6 dovrebbe apparire quasi identica in termini di "var" e "let".'var' e 'lasciare' in tipografico 1.5
Ma, quando compila giù in ES5 javascript che non supporta 'let', cosa sta succedendo esattamente? Ci sono variabili con nomi strani che il compilatore crea in modo tale da impedire l'utilizzo di dette variabili nel contesto del file Typescript? Cosa succede nelle situazioni in cui definite molte variabili "let" in una funzione? C'è un impatto sulle prestazioni di cui dovrei preoccuparmi?
Fondamentalmente, cosa sta succedendo quando la compilazione di dattilografi lascia le variabili su ES5 javascript?
Non penso che questa sia una buona domanda per Programmers.SE: questo sito riguarda concetti di sviluppo software, ma stai chiedendo dettagli specifici sull'implementazione di una particolare lingua. Se sei interessato a come i compilatori in generale potrebbero implementare lo scope lessicale, potrebbe trattarsi di un argomento qui (ma probabilmente troppo ampio). Poiché stai essenzialmente chiedendo di uno strumento di programmazione, sto votando per migrare a Stack Overflow, che sembra essere più adatto a questo tipo di domande. – amon
Penso che questa sia una grande domanda. – MarzSocks