ES6 Symbols, in your ES5.
If Symbol
is already defined, it will be used. Otherwise, this implements as much of the Symbol
spec as is possible with plain JavaScript.
var Symbol = require('symbol');
var key = Symbol();
var obj = {};
obj[key] = 'foo';
console.log(obj[key]); // 'foo'
console.log(Object.keys(obj)); // []