Mając var osoba = {imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985};, jak odwołać się do właściwości nazwisko?
Dobrze. Do właściwości odwołujemy się przez kropkę i nazwę.
Źle. Operator
:: nie istnieje w tym kontekście w JS.Źle. Obiekt nie jest indeksowany liczbowo jak tablica.
Źle. To indeks liczbowy - nie zadziała dla właściwości obiektu.
Do właściwości obiektu w JavaScripcie sięga się notacją kropkową
obiekt.wlasciwosc, więc dla var osoba = {imie:"Anna", nazwisko:"Kowalska"}; nazwisko odczytasz przez osoba.nazwisko (zwróci „Kowalska”). Działa też notacja nawiasowa osoba['nazwisko'], przydatna, gdy nazwę pola masz w zmiennej. Zapamiętaj: obiekt to pary klucz-wartość, a do wartości docierasz po NAZWIE klucza, nie po numerze.Pozostałe zapisy są błędne.
osoba[1] i osoba[2] traktują obiekt jak tablicę indeksowaną liczbami - ale właściwości obiektu mają NAZWY, nie numery pozycji, więc nic nie zwrócą. osoba::nazwisko używa operatora zakresu :: znanego z C++ czy PHP (dla elementów statycznych klasy) - w JavaScripcie nie istnieje. Poprawne jest osoba.nazwisko.