"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/array-index/node_modules/es6-symbol/README.md" (17 Oct 2016, 2142 Bytes) of archive /windows/misc/atom-windows.zip:

As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.


ECMAScript 6 Symbol polyfill

For more information about symbols see following links - Symbols in ECMAScript 6 by Axel Rauschmayer - MDN Documentation - Specification


Underneath it uses real string property names which can easily be retrieved, however accidental collision with other property names is unlikely.


It’s safest to use es6-symbol as a ponyfill – a polyfill which doesn’t touch global objects:

javascript var Symbol = require('es6-symbol');

If you want to make sure your environment implements Symbol globally, do:

javascript require('es6-symbol/implement');

If you strictly want to use polyfill even if native Symbol exists (hard to find a good reason for that), do:

javascript var Symbol = require('es6-symbol/polyfill');


Best is to refer to specification. Still if you want quick look, follow examples:

```javascript var Symbol = require(‘es6-symbol’);

var symbol = Symbol(‘My custom symbol’); var x = {};

x[symbol] = ‘foo’; console.log(x[symbol]); ‘foo’

// Detect iterable: var iterator, result; if (possiblyIterable[Symbol.iterator]) { iterator = possiblyIterableSymbol.iterator; result = iterator.next(); while(!result.done) { console.log(result.value); result = iterator.next(); } } ```



In your project path:

$ npm install es6-symbol

To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

Tests Build Status

$ npm test