Wpis z mikrobloga

@coolcooly22: to czy cos jest jezykiem obiektowym czy nie wynika tylko z tego czy mozna w tym jezyku wydzielic przestrzen na dane niewidoczne z zewnatrz czy nie. Wiec tak... JS jest jezykiem obiektowym.
@coolcooly22:
Jest. JS daje niezłe wsparcie dla obiektów. Nie ma jednak dziedziczenia klasycznego, tylko mniej popularne dziedziczenie prototypowe.

@systemd:
W JS null nie jest obiektem. Prawdopodobnie, w błąd wprowadziło Cię to, że operator typeof zwraca dla null wartość "object". Ale to błąd projektowy języka. Upierdliwy i kłamliwy, ale niemożliwy już do poprawienia bez zerwania kompatybilności wstecznej.

null symbolizuje brak obiektu. W specyfikacji języka, null ma oddzielny typ, który zwie się
@systemd:
A widzisz, niby heheszki, ale w niektórych językach to, co napisałeś, jest całkiem ściśle zgodne z prawdą. W SmallTalku rolę nulla pełni wartość nil. Nilowi możesz normalnie wysyłać komunikaty ("wywoływać na nim metody"), gdyż stanowi on instancję klasy UndefinedObject.

W Objective C również możesz wywoływać metody na nullu. Te metody nic nie robią.

To oczywiście przykłady wbudowanego w język wsparcia dla wzorca Obiektu Pustego (Null Object Pattern, z publikacji GoF).