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

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

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

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

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

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

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

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

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
Last Updated: 8/11/2019, 10:51:29 PM