ES proposal: Symbol.prototype.description

(Ad, please don’t block)

The proposal “Symbol.prototype.description” (by Michael Ficarra) is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.

When creating a symbol via the factory function Symbol(), you can optionally provide a string as a description, via a parameter:

const sym = Symbol('The description');

Until recently, the only way to access the description was by converting the symbol to a string:

assert.equal(String(sym), 'Symbol(The description)');

The proposal introduces the getter Symbol.prototype.description to access the description directly:

assert.equal(sym.description, 'The description');