

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Difficulty: 3
click for more info
Not enough gems
Cost: 6 gems
1: Objects
incomplete
2: No Colon
incomplete
3: Updating Properties
incomplete
4: Nesting Properties
incomplete
5: Nesting Properties Quiz
incomplete
6: Optional Chaining
incomplete
7: When to Chain
incomplete
8: Object Methods
incomplete
9: Methods Mutate
incomplete
10: Initializing Props
incomplete
11: Strings As Keys
incomplete
12: This
incomplete
13: Arrow Functions
incomplete
14: Fat Arrows and This
incomplete
15: Spread Syntax
incomplete
16: Return Objects
incomplete
17: Destructuring
incomplete
18: Not Bound
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
Objects can contain other objects. Here we've nested two object literals within the tournament object:
const tournament = {
referee: {
name: "Sally",
age: 25,
},
prize: {
units: "dollars",
value: 100,
},
};
We can access nested properties the same way by chaining: tournament.referee.name
console.log(tournament.referee.name); // Sally
console.log(tournament.prize.value); // 100
In most systems, "entities" are stored as objects. For example, "campaigns", "messages", and "users" might all be different "entities" within the Textio system.
We store text campaigns as nested JavaScript objects:
{
name: 'Jurassic Campaign',
messageCount: 100,
creator: {
firstName: 'Ian',
lastName: 'Malcolm',
createdAt: '2023-10-01T09:00:00+00:00'
}
}
Finish the getCampaignCreator function, which takes a campaign object and returns the creator's first name.