It is my understanding that symbols were going to be a way to have private methods. This aspect of them - the reason they were going to be introduced in the first place - was dropped, and so you are left with its current limited form with a much narrower use-case.<p>From A Rossberg (he's also the guy behind SoundScript) in a March 2014 stackoverflow post (<a href="http://stackoverflow.com/questions/21724326/why-bring-symbols-to-javascript/22280202#22280202" rel="nofollow">http://stackoverflow.com/questions/21724326/why-bring-symbol...</a>):<p>"Enabling private properties ... was indeed the original motivation for introducing symbols into JavaScript. Unfortunately, however, they ended up being severely downgraded, and not private after all.<p>They are now known as unique symbols, and their only use is to avoid name clashes between properties....Whether that is strong enough a motivation to add symbols to the language is debatable."<p>and from R. Waldron as part of this response (<a href="https://esdiscuss.org/topic/proposal-about-private-symbol" rel="nofollow">https://esdiscuss.org/topic/proposal-about-private-symbol</a>) to a proposal about a private symbol (Dec 2014)<p>"Ultimately it was decided that Symbol is just a symbol and that "private" things will be dealt with orthogonally (and at a later date)."<p>YMMV