Håndtering af Objekt-Egenskaber
Lad os undersøge tre vigtige begreber i forbindelse med arbejde med objekt-egenskaber:
- Ændring af egenskabsværdier;
- Tilføjelse af nye egenskaber;
- Brug af shorthand-egenskaber.
Ændring af egenskabsværdier
Efter oprettelse af et objekt kan du nemt ændre værdierne for dets egenskaber. Dette gøres ved at referere til egenskaben ved navn, bruge dot notation og tildele en ny værdi.
Lad os se et eksempel med et company-objekt:
12345678910111213141516const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Pharmacy", founded: { year: 1996, month: "August", day: 28, }, }; company.industry = "Automotive"; company.founded.year = 1937; console.log(company.industry); // Output: Automotive console.log(company.founded.year); // Output: 1937
I dette eksempel ændres værdierne for egenskaberne industry og founded.year.
Tilføjelse af nye egenskaber
Tilføjelse af en ny egenskab til et objekt adskiller sig ikke fra at ændre værdien af en eksisterende egenskab. Hvis en egenskab med det angivne navn ikke allerede findes i objektet, vil den blive oprettet.
Overvej company-objektet fra det forrige eksempel:
1234567891011121314const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Automotive", founded: { year: 1937, month: "August", day: 28, }, }; company.founder = "Kiichiro Toyoda"; console.log(company.founder); // Output: Kiichiro Toyoda
I dette eksempel tilføjes den nye egenskab founder til objektet company.
Brug af forkortede egenskaber
Forkortede egenskaber forenkler processen med at oprette objekter, især når variabel- eller funktionsparameter-værdier skal bruges som egenskabsværdier.
Denne syntaks gør det muligt at bruge variabelnavnet som egenskabsnavn og dets værdi som egenskabsværdi.
Se følgende eksempel:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name: name, birthCountry: birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Ved at bruge forkortede egenskaber kan det samme objekt oprettes mere kortfattet:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name, birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Med shorthand-egenskaber behøver vi kun at angive egenskabsnavnet, og værdien tildeles automatisk fra en variabel med samme navn.
1. Efter at have oprettet et objekt, hvordan kan vi ændre værdierne for dets egenskaber?
2. Hvad sker der, når du forsøger at ændre værdien af en egenskab, der ikke findes i et objekt, ved hjælp af punktnotation?
3. Hvilket af følgende eksempler demonstrerer brugen af shorthand-egenskaber ved oprettelse af objekter?
4. Hvordan kan du inkludere variablen city som en egenskab i userLocation ved brug af shorthand-egenskaber?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain more about shorthand properties and when to use them?
What happens if I try to modify a property that doesn't exist yet?
Can you show more examples of adding or modifying nested object properties?
Awesome!
Completion rate improved to 2.27
Håndtering af Objekt-Egenskaber
Stryg for at vise menuen
Lad os undersøge tre vigtige begreber i forbindelse med arbejde med objekt-egenskaber:
- Ændring af egenskabsværdier;
- Tilføjelse af nye egenskaber;
- Brug af shorthand-egenskaber.
Ændring af egenskabsværdier
Efter oprettelse af et objekt kan du nemt ændre værdierne for dets egenskaber. Dette gøres ved at referere til egenskaben ved navn, bruge dot notation og tildele en ny værdi.
Lad os se et eksempel med et company-objekt:
12345678910111213141516const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Pharmacy", founded: { year: 1996, month: "August", day: 28, }, }; company.industry = "Automotive"; company.founded.year = 1937; console.log(company.industry); // Output: Automotive console.log(company.founded.year); // Output: 1937
I dette eksempel ændres værdierne for egenskaberne industry og founded.year.
Tilføjelse af nye egenskaber
Tilføjelse af en ny egenskab til et objekt adskiller sig ikke fra at ændre værdien af en eksisterende egenskab. Hvis en egenskab med det angivne navn ikke allerede findes i objektet, vil den blive oprettet.
Overvej company-objektet fra det forrige eksempel:
1234567891011121314const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Automotive", founded: { year: 1937, month: "August", day: 28, }, }; company.founder = "Kiichiro Toyoda"; console.log(company.founder); // Output: Kiichiro Toyoda
I dette eksempel tilføjes den nye egenskab founder til objektet company.
Brug af forkortede egenskaber
Forkortede egenskaber forenkler processen med at oprette objekter, især når variabel- eller funktionsparameter-værdier skal bruges som egenskabsværdier.
Denne syntaks gør det muligt at bruge variabelnavnet som egenskabsnavn og dets værdi som egenskabsværdi.
Se følgende eksempel:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name: name, birthCountry: birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Ved at bruge forkortede egenskaber kan det samme objekt oprettes mere kortfattet:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name, birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Med shorthand-egenskaber behøver vi kun at angive egenskabsnavnet, og værdien tildeles automatisk fra en variabel med samme navn.
1. Efter at have oprettet et objekt, hvordan kan vi ændre værdierne for dets egenskaber?
2. Hvad sker der, når du forsøger at ændre værdien af en egenskab, der ikke findes i et objekt, ved hjælp af punktnotation?
3. Hvilket af følgende eksempler demonstrerer brugen af shorthand-egenskaber ved oprettelse af objekter?
4. Hvordan kan du inkludere variablen city som en egenskab i userLocation ved brug af shorthand-egenskaber?
Tak for dine kommentarer!