Learn when to use dot and bracket notation in JavaScript.
Wir können auf die Eigenschaft eines Objekts durch
- Dot notation
- Bracket notation
Dies ist die beliebteste und am häufigsten verwendete Art des Zugriffs auf die Eigenschaft eines Objekts. Dadurch wird der Code lesbarer. Die Punktschreibweise wird am häufigsten verwendet.
Syntax: obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
Wann sollte man die dot
Notation nicht verwenden
Betrachten wir einen Eigenschaftsnamen als 123
var obj = {
'123' : 123
};
Im obigen Fall können wir nicht mit
obj.123;
auf den Wert zugreifen, wenn der Eigenschaftsname kein gültiger identifier
ist.
Was ist ein Bezeichner?
Ein Bezeichner ist eine Folge von Zeichen im Code, die einen
variable
,function
oderproperty
identifiziert. Im Allgemeinen ist das der Name einer Funktion oder Variable oder der Name einer Eigenschaft eines Objekts
Was ist ein gültiger Bezeichner?
In diesem Fall können wir die Klammerschreibweise verwenden
var obj = {
'123' : 123
};obj; // 123
Hinweis
In JavaScript sind $
und _
gültige Bezeichner, so dass wir auf diese Eigenschaften mit der .
-Schreibweise zugreifen können.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Klammerschreibweise
Die Klammerschreibweise wird verwendet, wenn der Eigenschaftsname ein ungültiger Bezeichner ist (beginnt mit einer Zahl, enthält Symbole).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Wenn der Eigenschaftsname number
ist, brauchen wir den Eigenschaftsnamen bei der Objekterstellung nicht in single /double quotes
einzuschließen. Wenn der Eigenschaftsname whole number
lautet, muss der Name bei der Klammerschreibweise nicht in single /double quotes
eingeschlossen werden. Aber wenn der Eigenschaftsname double
ist, dann muss der Eigenschaftsname innerhalb von single /double quotes
umbrochen werden.
Beispiel 1: Ganze Zahl
var obj = {
123456 : 10
}obj;
Beispiel 2: Double
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Beispiel 3: Verwendung einer ungültigen Zahl
var obj = {
123.123.123 : 10 // throws invalid number error
}For this case use single/double quotesvar obj = {
'123.123.123' : 10
}
Beispiel 4: Verwendung von Sonderzeichen
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Verwendung von Variablen als Eigenschaftsnamen
Beispiel 1:
var test = "test";var obj = {
test : "Test success"
}obj // "Test success"
Beispiel 2:
var obj = {
name : "Mark"
age : 20
}var name = "age";obj; // Mark
obj; // 20
Beispiel 3: Praxisbeispiel für die Verwendung der Klammerschreibweise
Wir können auch Objekt als Eigenschaftsname verwenden, aber das wird dann in
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
Wir können auch empty string
als Eigenschaftsname verwenden
var obj= {};var emptyString = "";obj = "10";obj; // 10