Penso che dipenderà dalle vostre esigenze. Ad esempio
questa definirà la funzione con myfunction
nome sulla portata locale
function myfunction(fruit){
alert('I like ' + fruit + '!');
}
invece, il codice seguente definisce una variabile chiamato myfunction
che punta a una funzione annonimous interni del locale scopo.
var myfunction = function(fruit){
alert('I like ' + fruit + '!');
};
mentre il codice di seguito definisce un arrow function of ECMA6 che non sono supportati da tutti i browser alla data corrente. Inoltre, l'istruzione let
dichiara una variabile locale dell'ambito del blocco, eventualmente inizializzandola su un valore. Pertanto la variabile myfunction
non verrà visualizzata dopo la chiusura del blocco di codice.
let myfunction = fruit=> alert('I like ' + fruit + '!');
let
permette di dichiarare le variabili che sono di portata limitata al blocco, dichiarazione o espressione su cui viene utilizzato. Si può leggere di più e vedere un po 'examples here
Come la documentazione oficial dice:
La dichiarazione const crea un riferimento di sola lettura per un valore. È non significa che il valore che detiene è immutabile, solo che l'identificatore della variabile non può essere riassegnato.
const myfunction = fruit=> alert('I like ' + fruit + '!');
Quindi, se si tenta di riassegnare myfunction
fallirà (in silenzio) (ma non manca in Safari)
// this will fail silently in Firefox and Chrome
myfunction = fruit=> alert('No! I DO NOT like ' + fruit + '!');
Chi let
e const
somiglianze il riferimento MDN dice che
Le costanti hanno un ambito di blocco, proprio come le variabili definite utilizzando l'istruzione let . Il valore di una costante non può essere modificato tramite la riassegnazione di e non può essere riprogrammato.
Così, come Aurelio de Rosa says,
costanti condividono una caratteristica con le variabili dichiarate utilizzando lasciano entrare che sono block-ambito posto di funzione con ambito
Leggi di più riguardo const
here
Circa l'efficienza, non penso che questo potrebbe mai essere un collo di bottiglia –
Allora perché così tanti modi? Deve esserci un vantaggio nel farlo in modo diverso giusto? Non è come se gli sviluppatori creassero solo cose da fare per loro: D –