(składnia)

Marta Dycjan: Czy „self” jest nowym „this” w JavaScript?

O byciu nowicjuszem…

Programista 08/2015 (39) wrzesień/październik [okładka]

Minęło już trochę czasu, od kiedy jeden z moich kolegów zadał mi pytanie: „Dlaczego wszędzie w kodzie używamy var self = this;?”. Pamiętam, że wtedy, jeszcze jako JavaScript-nowicjusz, dumnie odpowiedziałam: „Jak to dlaczego? Przecież kontekst się zmienia!”. Teraz wiem, że wtedy sama do końca nie rozumiałam, co to tak naprawdę znaczy. Oswojenie się z mechanizmami języka JavaScript, w szczególności z pojęciami zasięgu leksykalnego (ang. lexical scope) i kontekstu (ang. context), zajęło mi trochę czasu, a jeszcze więcej potrzebowałam, żeby wyrobić sobie własną opinię o tym, czy naprawdę var self = this; jest niezbędne.