Destrukturering av Objekt för Renare Kod
Objektdestrukturering är en funktion som gör det möjligt att extrahera specifika egenskaper från ett objekt och tilldela dem till variabler. Detta kan leda till mer koncis och lättläst kod, särskilt när man arbetar med objekt som har flera egenskaper.
Förståelse för objektdestrukturering
Objektdestrukturering är ett sätt att packa upp värden från objekt till separata variabler. Destrukturering använder en syntax som liknar objektliteraler men på vänster sida av en tilldelning.
Här är den grundläggande syntaxen för objektdestrukturering:
const { property1, property2, ...} = sourceObject;
property1,property2: variabelnamn som kommer att innehålla värden från objektet;sourceObject: objektet du extraherar egenskaper från;- Ordningen spelar ingen roll: egenskaper matchas efter namn.
Objektdestrukturering i praktiken
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 är fullName, nationality och occupation fristående variabler som innehåller sina respektive värden.
Ange standardvärden
Om objektet inte innehåller en egenskap kan du tilldela ett standardvärde:
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
Om birthDate saknas används standardvärdet.
Byta namn på variabler
Du kan byta namn på extraherade variabler med hjälp av :-syntaxen.
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
Detta är användbart när kortare namn förbättrar läsbarheten eller när namnkollisioner ska undvikas.
Nästlad objekt-destrukturering
Du kan även destrukturera egenskaper inuti nästlade objekt.
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
Du kan extrahera både toppnivå- och djupt nästlade värden i ett enda tydligt uttryck.
1. Vad gör följande kod?
2. Hur kan vi ange standardvärden för variabler vid objekt-destrukturering?
3. Vid objekt-destrukturering, hur kan vi byta namn på variabler vid tilldelning?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain how object destructuring works with arrays?
What happens if a property is missing and no default value is provided?
Can you show more examples of nested destructuring?
Fantastiskt!
Completion betyg förbättrat till 2.27
Destrukturering av Objekt för Renare Kod
Svep för att visa menyn
Objektdestrukturering är en funktion som gör det möjligt att extrahera specifika egenskaper från ett objekt och tilldela dem till variabler. Detta kan leda till mer koncis och lättläst kod, särskilt när man arbetar med objekt som har flera egenskaper.
Förståelse för objektdestrukturering
Objektdestrukturering är ett sätt att packa upp värden från objekt till separata variabler. Destrukturering använder en syntax som liknar objektliteraler men på vänster sida av en tilldelning.
Här är den grundläggande syntaxen för objektdestrukturering:
const { property1, property2, ...} = sourceObject;
property1,property2: variabelnamn som kommer att innehålla värden från objektet;sourceObject: objektet du extraherar egenskaper från;- Ordningen spelar ingen roll: egenskaper matchas efter namn.
Objektdestrukturering i praktiken
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 är fullName, nationality och occupation fristående variabler som innehåller sina respektive värden.
Ange standardvärden
Om objektet inte innehåller en egenskap kan du tilldela ett standardvärde:
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
Om birthDate saknas används standardvärdet.
Byta namn på variabler
Du kan byta namn på extraherade variabler med hjälp av :-syntaxen.
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
Detta är användbart när kortare namn förbättrar läsbarheten eller när namnkollisioner ska undvikas.
Nästlad objekt-destrukturering
Du kan även destrukturera egenskaper inuti nästlade objekt.
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
Du kan extrahera både toppnivå- och djupt nästlade värden i ett enda tydligt uttryck.
1. Vad gör följande kod?
2. Hur kan vi ange standardvärden för variabler vid objekt-destrukturering?
3. Vid objekt-destrukturering, hur kan vi byta namn på variabler vid tilldelning?
Tack för dina kommentarer!