ES6 introduces many new object literal extensions
//Base Object
let baseObject = {
name : 'Frodo',
age : 25
}
console.log(baseObject)
1
2
3
4
5
6
7
2
3
4
5
6
7
let name = 'Sam';
let age = 25;
//Base Object
let baseObject = {
name,
age
}
console.log(baseObject)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
let name = 'Sam';
let age = 25;
//Base Object
let baseObject = {
name : 'Frodo',
age
}
console.log(baseObject)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Define methods inside functions
let name = 'Sam';
let age = 25;
//Base Object
let baseObject = {
name,
age,
greet() {
console.log(this.name + ', ' + this.age);
}
}
console.log(baseObject.greet())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
let name = 'Sam';
let age = 25;
//Base Object
let baseObject = {
name,
age,
"greet"() {
console.log(this.name + ', ' + this.age);
}
}
console.log(baseObject["greet"]())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
let name = 'Sam';
let age = 25;
//Base Object
let baseObject = {
name,
age,
"greet me"() {
console.log(this.name + ', ' + this.age);
}
}
console.log(baseObject["greet me"]())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Dynmic fields examples
//Will throw error because string age is not the same as number age
let name = 'Sam';
let age = 25;
let ageField = "age";
//Base Object
let baseObject = {
name,
[ageField],
"greet me"() {
console.log(this.name + ', ' + this.age);
}
}
console.log(baseObject)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let name = 'Sam';
let age = 25;
let ageField = "age";
//Base Object
let baseObject = {
name,
[ageField] : 20,
"greet me"() {
console.log(this.name + ', ' + this.age);
}
}
console.log(baseObject)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let name = 'Sam';
let age = 25;
let ageField = "age";
//Base Object
let baseObject = {
name,
[ageField] : 20,
"greet me"() {
console.log(this.name + ', ' + this.age);
}
}
console.log(baseObject.age)
console.log(baseObject[ageField])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17