Destrukturering af Objekter for Mere Overskuelig Kode
Objektdestrukturering er en funktion, der gør det muligt at udtrække specifikke egenskaber fra et objekt og tildele dem til variable. Dette kan føre til mere kortfattet og læsbar kode, især når man arbejder med objekter, der har flere egenskaber.
Forståelse af objektdestrukturering
Objektdestrukturering er en metode til at udpakke værdier fra objekter til separate variable. Destrukturering anvender en syntaks, der ligner objekt-litteraler, men bruges på venstre side af en tildeling.
Her er den grundlæggende syntaks for objektdestrukturering:
const { property1, property2, ...} = sourceObject;
property1,property2osv.: Dette er variabelnavne, hvor værdierne af de tilsvarende egenskaber frasourceObjectvil blive tildelt. Egenskaber fra objektet destruktureres efter egenskabsnavn, ikke rækkefølge. Rækkefølgen er uden betydning;sourceObject: Objektet, hvorfra vi ønsker at udtrække egenskaber.
Objekt-destructuring i praksis
Overvej et eksempel, hvor vi har et objekt, der repræsenterer en persons information:
12345678910const person = { fullName: "Amerigo Vespucci", nationality: "Italian", occupation: "Explorer, Cartographer", }; const { fullName, nationality, occupation } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(occupation); // Output: Explorer, Cartographer
Nu kan fullName, nationality og occupation bruges som separate variabler med de tilsvarende værdier fra person-objektet.
Angiv standardværdier
Det er også muligt at angive standardværdier for variabler, hvis egenskaben ikke findes i kildeobjektet:
123456789const person = { fullName: "Amerigo Vespucci", nationality: "Italian", }; const { fullName, nationality, birthDate = "March 9, 1454" } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(birthDate); // Output: March 9, 1454
I dette eksempel vil variablen birthDate få tildelt værdien "March 9, 1454", hvis person-objektet ikke har en birthDate-egenskab med en værdi.
Omdøbning af variabler
Ved at bruge : syntaksen kan egenskabsværdier tildeles variabler med andre navne. For eksempel:
1234567891011const weather = { city: "Melbourne", minTemperature: 65, maxTemperature: 78, }; const { city, minTemperature: min, maxTemperature: max } = weather; console.log(city); // Output: Melbourne console.log(min); // Output: 65 console.log(max); // Output: 78
Nu kan variablerne min og max bruges i stedet for minTemperature og maxTemperature.
Indlejret objekt-destrukturering
Destrukturering kan også anvendes på indlejrede objekter. Hvis objektet for eksempel indeholder objekter som egenskaber, kan vi destrukturere de indlejrede egenskaber:
123456789101112131415161718192021const person = { name: "Dean Mayert", profession: "Neuropsychologist", education: { degree: "Ph.D. in Neuropsychology", university: "Mind Institute", graduationYear: 2008, }, }; const { name, profession, education: { degree, university, graduationYear }, } = person; console.log(name); // Output: Dean Mayert console.log(profession); // Output: Neuropsychologist console.log(degree); // Output: Ph.D. in Neuropsychology console.log(university); // Output: Mind Institute console.log(graduationYear); // Output: 2008
I dette eksempel kan både de øverste egenskaber som name og profession samt de indlejrede egenskaber som degree, university og graduationYear tilgås ved hjælp af destrukturering.
1. Hvad gør følgende kode?
2. Hvordan kan vi angive standardværdier for variabler ved objekt-destructuring?
3. Hvordan kan vi omdøbe variabler under tildeling ved objekt-destructuring?
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
Awesome!
Completion rate improved to 2.27
Destrukturering af Objekter for Mere Overskuelig Kode
Stryg for at vise menuen
Objektdestrukturering er en funktion, der gør det muligt at udtrække specifikke egenskaber fra et objekt og tildele dem til variable. Dette kan føre til mere kortfattet og læsbar kode, især når man arbejder med objekter, der har flere egenskaber.
Forståelse af objektdestrukturering
Objektdestrukturering er en metode til at udpakke værdier fra objekter til separate variable. Destrukturering anvender en syntaks, der ligner objekt-litteraler, men bruges på venstre side af en tildeling.
Her er den grundlæggende syntaks for objektdestrukturering:
const { property1, property2, ...} = sourceObject;
property1,property2osv.: Dette er variabelnavne, hvor værdierne af de tilsvarende egenskaber frasourceObjectvil blive tildelt. Egenskaber fra objektet destruktureres efter egenskabsnavn, ikke rækkefølge. Rækkefølgen er uden betydning;sourceObject: Objektet, hvorfra vi ønsker at udtrække egenskaber.
Objekt-destructuring i praksis
Overvej et eksempel, hvor vi har et objekt, der repræsenterer en persons information:
12345678910const person = { fullName: "Amerigo Vespucci", nationality: "Italian", occupation: "Explorer, Cartographer", }; const { fullName, nationality, occupation } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(occupation); // Output: Explorer, Cartographer
Nu kan fullName, nationality og occupation bruges som separate variabler med de tilsvarende værdier fra person-objektet.
Angiv standardværdier
Det er også muligt at angive standardværdier for variabler, hvis egenskaben ikke findes i kildeobjektet:
123456789const person = { fullName: "Amerigo Vespucci", nationality: "Italian", }; const { fullName, nationality, birthDate = "March 9, 1454" } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(birthDate); // Output: March 9, 1454
I dette eksempel vil variablen birthDate få tildelt værdien "March 9, 1454", hvis person-objektet ikke har en birthDate-egenskab med en værdi.
Omdøbning af variabler
Ved at bruge : syntaksen kan egenskabsværdier tildeles variabler med andre navne. For eksempel:
1234567891011const weather = { city: "Melbourne", minTemperature: 65, maxTemperature: 78, }; const { city, minTemperature: min, maxTemperature: max } = weather; console.log(city); // Output: Melbourne console.log(min); // Output: 65 console.log(max); // Output: 78
Nu kan variablerne min og max bruges i stedet for minTemperature og maxTemperature.
Indlejret objekt-destrukturering
Destrukturering kan også anvendes på indlejrede objekter. Hvis objektet for eksempel indeholder objekter som egenskaber, kan vi destrukturere de indlejrede egenskaber:
123456789101112131415161718192021const person = { name: "Dean Mayert", profession: "Neuropsychologist", education: { degree: "Ph.D. in Neuropsychology", university: "Mind Institute", graduationYear: 2008, }, }; const { name, profession, education: { degree, university, graduationYear }, } = person; console.log(name); // Output: Dean Mayert console.log(profession); // Output: Neuropsychologist console.log(degree); // Output: Ph.D. in Neuropsychology console.log(university); // Output: Mind Institute console.log(graduationYear); // Output: 2008
I dette eksempel kan både de øverste egenskaber som name og profession samt de indlejrede egenskaber som degree, university og graduationYear tilgås ved hjælp af destrukturering.
1. Hvad gør følgende kode?
2. Hvordan kan vi angive standardværdier for variabler ved objekt-destructuring?
3. Hvordan kan vi omdøbe variabler under tildeling ved objekt-destructuring?
Tak for dine kommentarer!