W dniu dzisiejszym Backbone.js zaskoczył mnie kolejny raz.
Niestety tym razem negatywnie...
Właściwości
Tworzenie "klas", które dziedziczą po sobie właściwości jest czym
naturalnym w Backbone. Nadpisywanie tychże właściwości jest równie
proste. Przykład:
Niestety, takie działanie jest tylko do właściwości prymitywnych.
Problem
Inaczej sytuacja wygląda gdy mamy do czynienia z obiektami:
Co ciekawe... gdy zamienimy kolejność wywołania ostatnich linijek:
Rozwiązanie
Problemy leży o podnóża działań JavaScript.
Przedstawiam 2 bardzo ważne zasady programowaniu w JavaScript:
- Wartości prymitywne
string, number, boolean, null, undefined
są przekazywane
przez wartość.
- Wartości obiektowe przez referencję!