# How to Set Dynamic Property Keys with ES6 🎉

Previously, we had to do 2 steps - create the object literal and then use the bracket notation. With ES6, you can now directly use a variable as your property key in your object literal. YAY! 👏

let cake = '🍰';

// ❌ Old way requires 2 steps
let pan = {
  id: 1,
};
pan[cake] = '🥞';

// ✅ YAY, much easier with ES6
let pan = {
  id: 1,
  [cake]: '🥞',
};

# The 3 ways to access the object value

We can output the object value by passing in the appropriate key. Because I used emoji as the key in my example, it's a bit tricky. So let's look at a easier example.

let me = {
  name: 'samantha',
};

// 1. Dot notation
me.name; // samantha

// 2. Bracket notation (string key)
me['name']; // samantha

// 3. Bracket notation (variable key)
let key = 'name';
me[key]; // samantha

# How to Access Object Value With Emoji Keys

Alright back to our emoji example. Let's take a look at the output.

let cake = '🍰';

let pan = {
  [cake]: '🥞',
};

// Output -> { '🍰': '🥞' }

Unfortunately, when you're using an Emoji as a key, you won't be able to use the dot notation. You're limited to the Bracket Notation.

// 2. Bracket notation (string key)
pan['🍰']; // '🥞'

// 3. Bracket notation (variable key)
let key = '🍰';
me[key]; // '🥞'

# Resources


Related Tidbits