In the below example, how can i access enums.ROCK inside the prop? As it currently stand, i get an error Uncaught TypeError: Cannot read property 'enums' of undefined. Plz check comment ERROR LINE. 
const app = {
  enums: {
    ROCK: 'ROCK',
    PAPER: 'PAPER',
    SCISSORS: 'SCISSORS',
    DEFAULT_USER_CHOICE: this.ROCK //default, take note of this keyword
  },
  prop: {
    isGameRunning: false,
    mySelection: this.app.enums.ROCK //ERROR LINE
  }
};
I have tried it with mySelection: app.enums.ROCK as well and in this case i get Uncaught ReferenceError: Cannot access 'app' before initialization. 
Sample 1: https://jsfiddle.net/5zp7yode/
Sample 2: https://jsfiddle.net/5zp7yode/1/
Where as the following works without any issues:
var person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};
alert(person.fullName());
Sample 3: https://jsfiddle.net/0o93afLq/
I have also tried with following but still can't access enums inside prop:
const app = {
  self: this,
  enums: {
    ROCK: 'ROCK',
    PAPER: 'PAPER',
    SCISSORS: 'SCISSORS',
    DEFAULT_USER_CHOICE: this.ROCK //default, take note of this keyword
  },
  prop: {
    isGameRunning: false,
    mySelection: self.enums.ROCK
  }
};
alert(app.prop.mySelection);
Sample 4: https://jsfiddle.net/x89kj2zn/
and another one working with function but i can't call the function inside the prop:
const app = {
  enums: {
    ROCK: 'ROCK',
    PAPER: 'PAPER',
    SCISSORS: 'SCISSORS',
    DEFAULT_USER_CHOICE: this.ROCK //default, take note of this keyword
  },
  prop: {
    isGameRunning: false
  },
  getMySelection: function(){
    return app.enums.ROCK;
  }
};
alert(app.getMySelection());
Sample 5: https://jsfiddle.net/v5qzdx3s/
 
     
    