idiomi Javascript questo che contro questo sé [chiuso]

1

Ho scritto JavaScript per un po 'e ora ho visto il codice usando l'idioma

var that = this;

e

var self = this;

Utilizzato per accedere a this attraverso l'ambito di chiusura. A questo punto, var self = this sembra un po 'più comune.

La mia domanda è quale di questi due idiomi è veramente la convenzione? Dal momento che fanno esattamente la stessa cosa, ci sono vantaggi / svantaggi per entrambi?

    
posta john-charles 27.07.2013 - 15:49
fonte

1 risposta

6

Aggiornamento 2018 : dovresti usare nessuno e preferire le funzioni freccia che hanno lessico this scoping.

originale:

Sono entrambi idiomatici.

Un esperto programmatore JavaScript saprà esattamente cosa sta succedendo durante la lettura.

È solo una variabile che nomina il nome - non c'è alcun motivo empirico per scegliere l'uno sull'altro - funzionano esattamente allo stesso modo e sono entrambi comuni nelle basi di codice grande di comuni librerie open source.

Non c'è motivo di usarne uno sopra l'uno. L'importante è sceglierne uno e seguitelo e quando ti unisci a un nuovo codice base: segui ciò che stanno facendo.

Questa domanda correlata in StackOverflow rileva che self potrebbe avere una limitazione davvero minima in cui si riferisce a window in alcuni browser - così invece di ottenere un ReferenceError si otterrebbe un errore silenzioso. Tuttavia - questo non dovrebbe essere il caso, comunque, se usi un linter.

    
risposta data 27.07.2013 - 16:20
fonte

Leggi altre domande sui tag