Recentemente, ao olhar para o código de front-end estrangeiro, descobri que os novos recursos do ES6 se tornaram bastante populares, especialmente LET, e os aplicativos são muito comuns.
Embora o uso do LET seja o mesmo que o VAR, ele melhorou muito em termos de sintaxe e semântica e desempenho. Vamos compará -lo desses dois aspectos abaixo
Sintaxe >>
for (var i = 0; i <2; i ++) {console.log ('externo i:'+i); for (var i = 0; i <2; i ++) {console.log ('interno i:'+i);}}Este é um loop aninhado comum, o que define a variável i para contar, e o resultado da execução é o seguinte:
Externo i: 0
Interior I: 0
Interior I: 1
Você pode ver que o loop externo é interrompido porque o valor de I é modificado pelo loop interno. A solução usual é usar outras variáveis no loop interno, mas pode causar um erro se você acidentalmente
Agora mude var para deixar
para (vamos i = 0; i <2; i ++) {console.log ('externo i:'+i); para (vamos i = 0; i <2; i ++) {console.log ('interno i:'+i);}}O resultado da saída é:
Externo i: 0
Interior I: 0
Interior i: 1outer i: 1
Interior I: 0
Interior I: 1
É normal, as camadas interna e externa não têm efeito, porque Let faz o escopo da variável apenas dentro de seu próprio bloco.
Exemplo 2
console.log (a); var a = 'oi';
O resultado da saída é indefinido. A execução do log (a) é antes de declarar a variável. Por que não há erro? Porque o efeito real dessas duas linhas de código é:
var a; console.log (a); a = 'oi';
Ao analisar o código JS, a declaração variável será solicitada à posição inicial, o que também é confuso
Depois de usar LET, em vez disso, não haverá problema e um erro será relatado diretamente.
console.log (a); // ReferenceError não capturado: a não é definido a = 'oi';
Um simples teste de desempenho
var start = + new date (); para (var i = 0; i <1000000; i ++) {var num = 123; var str = 'abc'; var obj = {key: 'value'}; var arr = ['bill', 'Dell'];} var end = + new date (); console.log (end - start);O resultado médio de execução sob o Firefox é de 53ms
Mudar para Let
'use strict'var start = + new date (); para (var i = 0; i <1000000; i ++) {let num = 123; let str =' abc '; let obj = {key:' value '}}; arr = [' bill ',' dell '];} var end = + new date (); console.og (end);O resultado médio é 5ms e a aceleração é óbvia
O exposto acima estão as novas vantagens gramaticais do JavaScript6, deixando a você o editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!