Skip to content

Commit b7c00f5

Browse files
committed
use a Symbol for the key of a Map (rse#82)
1 parent 5604239 commit b7c00f5

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

features.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,6 +1259,7 @@ Map Data-Structure
12591259
Cleaner data-structure for common algorithms based on maps.
12601260

12611261
6| let m = |new Map()|;
1262+
6| let s = |new Symbol()|;
12621263
6| m.|set("hello", 42)|;
12631264
6| m.|set(s, 34)|;
12641265
6| m.|get(s)| === 34;
@@ -1267,6 +1268,7 @@ Cleaner data-structure for common algorithms based on maps.
12671268
6| console.log(key + " = " + val);
12681269

12691270
5| var m = |{}|;
1271+
5| // no equivalent in ES5
12701272
5| |m["hello"] = 42|;
12711273
5| // no equivalent in ES5
12721274
5| // no equivalent in ES5

index.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1746,6 +1746,7 @@
17461746
<div class="js es6">
17471747
<div class="title"><b>ECMAScript 6</b> &mdash; syntactic sugar: <span class="style reduced">reduced</span> | <span class="style traditional">traditional</span></div>
17481748
<div class="code"><span class="keyword">let</span> m<span class="punctuation"> = </span><span class="mark"><span class="keyword">new</span> Map<span class="punctuation">(</span><span class="punctuation">)</span></span><span class="semi">;</span>
1749+
<span class="keyword">let</span> s<span class="punctuation"> = </span><span class="mark"><span class="keyword">new</span> Symbol<span class="punctuation">(</span><span class="punctuation">)</span></span><span class="semi">;</span>
17491750
m<span class="punctuation">.</span><span class="mark">set<span class="punctuation">(</span><span class="literal">"hello"</span><span class="punctuation">,</span> <span class="literal">42</span><span class="punctuation">)</span></span><span class="semi">;</span>
17501751
m<span class="punctuation">.</span><span class="mark">set<span class="punctuation">(</span>s<span class="punctuation">,</span> <span class="literal">34</span><span class="punctuation">)</span></span><span class="semi">;</span>
17511752
m<span class="punctuation">.</span><span class="mark">get<span class="punctuation">(</span>s<span class="punctuation">)</span></span> <span class="punctuation">===</span> <span class="literal">34</span><span class="semi">;</span>
@@ -1758,7 +1759,8 @@
17581759
</div>
17591760
<div class="arrow"><i class="fa fa-caret-up"></i><i class="fa fa-caret-down"></i></div><div class="js es5">
17601761
<div class="title"><b>ECMAScript 5</b> &mdash; syntactic sugar: <span class="style reduced">reduced</span> | <span class="style traditional">traditional</span></div>
1761-
<div class="code"><span class="keyword">var</span> m<span class="punctuation"> = </span><span class="mark"><span class="punctuation">{</span><span class="punctuation">}</span></span><span class="semi">;</span>
1762+
<div class="code"><span class="keyword">var</span> m<span class="punctuation"> = </span><span class="mark"><span class="punctuation">{</span><span class="punctuation">}</span></span><span class="semi">;</span><span class="comment">
1763+
// no equivalent <span class="keyword">in</span> ES<span class="literal">5</span></span>
17621764
<span class="mark">m<span class="punctuation">[</span><span class="literal">"hello"</span><span class="punctuation">]</span><span class="punctuation"> = </span><span class="literal">42</span></span><span class="semi">;</span><span class="comment">
17631765
// no equivalent <span class="keyword">in</span> ES<span class="literal">5</span></span><span class="comment">
17641766
// no equivalent <span class="keyword">in</span> ES<span class="literal">5</span></span>

0 commit comments

Comments
 (0)