Perché usare 'const foo = () = {}' invece di 'function foo () {}'

6

Ad esempio, in questo video Redux , l'istruttore usa sempre la sintassi come

const counter = (state=0, action) => {
   ... function body here
}

dove vorrei semplicemente usare il "tradizionale"

function counter(state=0, action) {
   ... function body here
}

Che in realtà più breve e, IMO, più chiaro. È più facile scansionare il bordo sinistro della pagina abbastanza uniforme e strutturato della parola "funzione" piuttosto che scansionare il raggedy edge destro per un piccolo "= >".

Diverso da this , e cercando di essere obiettivo, non opinione, c'è qualche differenza o vantaggio utile alla sintassi newfangled?

    
posta user949300 16.01.2018 - 19:27
fonte

1 risposta

6
Le istruzioni della funzione

(le funzioni denominate, la seconda sintassi mostrata) vengono issate all'inizio dell'intero ambito lessicale, anche quelle dietro i blocchi arbitrari e di controllo, come le dichiarazioni if . L'utilizzo di const (come let ) per dichiarare una variabile fornisce l'ambito del blocco, arresta il sollevamento completo (sollevamento a mero blocco) e assicura che non possa essere dichiarato nuovamente.

Quando concatenano gli script insieme, o altri usano altri strumenti per la creazione di pacchetti, la funzione di sollevamento può spezzare gli script in conflitto in modo che sia difficile eseguire il debug in quanto fallisce silenziosamente. Un% di co_de dichiarata di nuovo genererà un'eccezione prima dell'esecuzione del programma, quindi è molto più facile eseguire il debug.

    
risposta data 17.01.2018 - 07:14
fonte

Leggi altre domande sui tag