Dostęp do właściwości obiektu

Istnieją dwa sposoby dostępu do właściwości obiektu:

  • Notacja kropkowa
  • Notacja nawiasowa

Notacja kropkowa jest używana najczęściej. Poniżej zagłębimy się w każdą z nich i odkryjemy niektóre z różnic.

Notacja kropkowa

Najpierw przyjrzyjmy się notacji kropkowej. Rozważmy poniższy przykład:

let obj = {
cat: 'meow',
dog: 'woof'
};let sound = obj.cat;console.log(sound);
// meow

Chcę zwrócić twoją uwagę na piątą linię, gdzie używamy notacji kropkowej: let sound = obj.cat;. To jest właśnie przykład notacji kropkowej. Możesz uzyskać dostęp do właściwości obiektu, określając nazwę obiektu, a następnie kropkę (kropka) po nazwie właściwości. Tak wygląda składnia: objectName.propertyName;.

Podczas pracy z notacją kropkową identyfikatory właściwości mogą być tylko alfanumeryczne (oraz _ i $). Właściwości nie mogą zaczynać się od liczby.

Notacja kropkowa jest znacznie łatwiejsza do odczytania niż notacja nawiasowa i dlatego jest częściej stosowana. Istnieje jednak drugi sposób dostępu do właściwości obiektu, o którym powinieneś wiedzieć. Nazywa się on notacją nawiasową.

Notacja nawiasowa

Oto przykład notacji nawiasowej:

let obj = {
cat: 'meow',
dog: 'woof'
};let sound = obj;console.log(sound);
// meow

Ponownie, zwróć uwagę na piątą linię: let sound = obj;. Możesz uzyskać dostęp do właściwości obiektu przez podanie nazwy obiektu, a następnie nazwy właściwości w nawiasach. Oto składnia: objectName.

Zapewne widziałeś już notację nawiasową podczas pracy z tablicami. W poniższym przykładzie uzyskamy dostęp do drugiego elementu w naszej arr używając składni: arrayName

let arr = ;let letter = arr;console.log(letter);
// b

Ale notacja nawiasowa jest również przydatna podczas pracy z Obiektami.

Przy pracy z notacją nawiasową, identyfikatory właściwości muszą być tylko Stringiem. Mogą one zawierać dowolne znaki, w tym spacje. Zmienne mogą być również używane tak długo, jak zmienna rozwiązuje do String.

To oznacza, że istnieje mniej ograniczeń podczas pracy z notacji nawiasów. Możemy teraz mieć spacje w naszych łańcuchach, a nawet możemy zaczynać łańcuchy od liczb.

Prawdopodobnie najważniejsze jest to, że możemy teraz używać zmiennych, aby uzyskać dostęp do właściwości w obiekcie. Ważne jest, aby zmienna, której używasz, odwoływała się do Stringa.

Przyjrzyjrzyj się temu przykładowi zmiennej. Może to być trochę mylące na początku, więc wytrzymaj ze mną:

let obj = {
cat: 'meow',
dog: 'woof'
};let dog = 'cat';
let sound = obj;console.log(sound);
// meow

Powyższy przykład jest podobny do poprzedniego przykładu, który już widzieliśmy. Główną różnicą jest to, że teraz używamy notacji nawiasowej do przekazania zmiennej. Uważaj, może to wyglądać jakbyśmy szukali właściwości dog w naszym obj, ale to nie jest do końca poprawne. dog jest zmienną o wartości 'cat'. Ponieważ używamy nawiasów, wartość łańcucha jest przekazywana i szukamy właściwości 'cat' w obj. Tak więc, meow jest logowane do konsoli.

Poniżej spróbujemy zrobić to samo, ale z notacją kropkową:

let obj = {
cat: 'meow',
dog: 'woof'
};let dog = 'cat';
let sound = obj.dog;console.log(sound);
// woof

Od razu powinieneś zauważyć, że otrzymujemy woof. Różni się to bardzo od poprzedniego przykładu, a to dlatego, że nie możemy używać zmiennych z notacją kropkową. Próba wyszukania obj.dog będzie w rzeczywistości szukała tylko wartości łańcuchowej 'dog' wewnątrz naszego obiektu, zamiast użyć wartości zmiennej. Tak więc, obj.dog zwraca woof.

Recap

Istnieją pewne ważne różnice między notacją kropkową i nawiasową:

Notacja kropkowa:

  • Identyfikatory właściwości mogą być tylko alfanumeryczne (i _ i $)
  • Identyfikatory właściwości nie mogą zaczynać się od liczby.
  • Identyfikatory właściwości nie mogą zawierać zmiennych.
  • OK – obj.prop_1, obj.prop$
  • Not OK – obj.1prop, obj.prop name

Notacja nawiasowa:

  • Identyfikatory właściwości muszą być Stringiem lub zmienną, która odwołuje się do Stringa.
  • Dobrze jest używać zmiennych, spacji i łańcuchów zaczynających się od liczb
  • OK – obj, obj

Dziękuję za przeczytanie! Jeśli jesteś gotowy, aby w końcu nauczyć się Web Development, sprawdź The Ultimate Guide to Learning Full Stack Web Development w 6 miesięcy, za 30 dolarów. Jeśli chcesz po prostu poprawić swoje umiejętności JavaScript, sprawdź: A Beginners Guide to Advanced JavaScript

W każdym tygodniu publikuję 4 artykuły na temat rozwoju sieci. Proszę rozważyć wprowadzenie swojego e-maila tutaj, jeśli chciałbyś zostać dodany do mojej raz w tygodniu listy e-mailowej, lub śledzić mnie na Twitterze.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.