JavaScript -objek-eienskappe
Eienskappe is die belangrikste deel van enige JavaScript-voorwerp.
JavaScript-eienskappe
Eienskappe is die waardes wat met 'n JavaScript-objek geassosieer word.
'n JavaScript-objek is 'n versameling ongeordende eienskappe.
Eienskappe kan gewoonlik verander, bygevoeg en uitgevee word, maar sommige is leesalleen.
Toegang tot JavaScript-eienskappe
Die sintaksis vir toegang tot die eienskap van 'n voorwerp is:
objectName.property // person.age
of
objectName["property"] // person["age"]
of
objectName[expression] // x = "age"; person[x]
Die uitdrukking moet evalueer na 'n eiendomnaam.
Voorbeeld 1
person.firstname + " is " + person.age + " years old.";
Voorbeeld 2
person["firstname"] + " is " + person["age"] + " years old.";
JavaScript vir...in Loop
Die JavaScript- for...in
stelling loop deur die eienskappe van 'n voorwerp.
Sintaksis
for (let variable in object) {
// code to be executed
}
Die blok kode binne die for...in
lus sal een keer vir elke eiendom uitgevoer word.
Loop deur die eienskappe van 'n voorwerp:
Voorbeeld
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
Voeg nuwe eiendomme by
Jy kan nuwe eienskappe by 'n bestaande voorwerp voeg deur bloot 'n waarde daaraan te gee.
Aanvaar dat die persoon-objek reeds bestaan - jy kan dit dan nuwe eienskappe gee:
Voorbeeld
person.nationality = "English";
Vee Eienskappe uit
Die delete
sleutelwoord verwyder 'n eienskap van 'n voorwerp:
Voorbeeld
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
of skrap persoon["ouderdom"];
Voorbeeld
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
Die delete
sleutelwoord verwyder beide die waarde van die eiendom en die eiendom self.
Na uitvee kan die eiendom nie gebruik word voordat dit weer bygevoeg word nie.
Die
delete
operateur is ontwerp om op voorwerpeienskappe gebruik te word. Dit het geen effek op veranderlikes of funksies nie.
Die delete
operateur moet nie op voorafbepaalde JavaScript-objekeienskappe gebruik word nie. Dit kan jou toepassing ineenstort.
Geneste voorwerpe
Waardes in 'n voorwerp kan 'n ander voorwerp wees:
Voorbeeld
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
Jy kan toegang tot geneste voorwerpe gebruik deur die puntnotasie of die hakienotasie te gebruik:
Voorbeeld
myObj.cars.car2;
of:
Voorbeeld
myObj.cars["car2"];
of:
Voorbeeld
myObj["cars"]["car2"];
of:
Voorbeeld
let p1 = "cars";
let p2 = "car2";
myObj[p1][p2];
Geneste skikkings en voorwerpe
Waardes in voorwerpe kan skikkings wees, en waardes in skikkings kan voorwerpe wees:
Voorbeeld
const myObj =
{
name: "John",
age: 30,
cars: [
{name:"Ford",
models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
Om toegang tot skikkings binne skikkings te kry, gebruik 'n for-in lus vir elke skikking:
Voorbeeld
for (let i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name
+ "</h1>";
for (let j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
Eiendomskenmerke
Alle eiendomme het 'n naam. Daarbenewens het hulle ook 'n waarde.
Die waarde is een van die eiendom se eienskappe.
Ander kenmerke is: optelbaar, konfigureerbaar en skryfbaar.
Hierdie eienskappe definieer hoe toegang tot die eiendom verkry kan word (is dit leesbaar?, is dit skryfbaar?)
In JavaScript kan alle kenmerke gelees word, maar slegs die waarde-kenmerk kan verander word (en slegs as die eienskap skryfbaar is).
(ECMAScript 5 het metodes om alle eiendomskenmerke te kry en in te stel)
Prototipe eienskappe
JavaScript-objekte erf die eienskappe van hul prototipe.
Die delete
sleutelwoord vee nie oorgeërfde eienskappe uit nie, maar as jy 'n prototipe-eienskap uitvee, sal dit alle voorwerpe wat van die prototipe geërf word, beïnvloed.