Dowiedz się, kiedy używać notacji kropek i nawiasów w JavaScript.
.
Możemy uzyskać dostęp do właściwości obiektu poprzez
- Notację kropkową
- Notację nawiasową
Jest to najpopularniejszy i najczęściej używany sposób dostępu do właściwości obiektu. Dzięki temu kod jest bardziej czytelny. Najczęściej stosowana jest notacja kropkowa.
Syntaktyka: obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
Kiedy nie używać notacji dot
Rozważmy, że mamy nazwę właściwości jako 123
var obj = {
'123' : 123
};
W powyższym przypadku, jeśli nie możemy uzyskać dostępu używając
obj.123;
Więc, Jeśli nazwa właściwości nie jest poprawnym identifier
, to nie możemy uzyskać dostępu do jej wartości używając notacji .
.
Co to jest identyfikator?
Identyfikator to sekwencja znaków w kodzie, która identyfikuje
variable
,function
lubproperty
. Na ogół nazwa funkcji lub zmiennej albo nazwa właściwości obiektu
Co to jest poprawny Identyfikator?
W tym przypadku możemy użyć notacji nawiasowej
var obj = {
'123' : 123
};obj; // 123
Uwaga
W JavaScript $
, i _
są poprawnymi identyfikatorami. więc możemy uzyskać dostęp do tych właściwości za pomocą notacji .
.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Notacja nawiasowa
Notacja nawiasowa jest używana, gdy nazwa właściwości jest niepoprawnym identyfikatorem (zaczyna się od liczby, zawiera symbole).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Jeśli nazwa właściwości jest number
to nie musimy zawijać nazwy właściwości wewnątrz single /double quotes
przy tworzeniu obiektu. Ale w notacji nawiasowej, jeśli nazwa właściwości jest whole number
, to nie musimy zawijać nazwy wewnątrz single /double quotes
. Ale jeśli nazwa właściwości to double
, to musimy osnowa nazwy właściwości wewnątrz single /double quotes
.
Przykład 1: liczba całkowita
var obj = {
123456 : 10
}obj;
Przykład 2: Double
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Przykład 3: Użycie nieprawidłowej liczby
var obj = {
123.123.123 : 10 // throws invalid number error
}For this case use single/double quotesvar obj = {
'123.123.123' : 10
}
Przykład 4: Użycie symboli specjalnych
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Użycie zmiennej jako nazwy właściwości
Przykład 1:
var test = "test";var obj = {
test : "Test success"
}obj // "Test success"
Przykład 2 :
var obj = {
name : "Mark"
age : 20
}var name = "age";obj; // Mark
obj; // 20
Przykład 3: Przykład użycia notacji nawiasowej w świecie rzeczywistym
Możemy również użyć obiektu jako nazwy właściwości, ale zostanie to przekonwertowane na
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
Możemy również mieć empty string
jako nazwę właściwości
var obj= {};var emptyString = "";obj = "10";obj; // 10
.