Hey Isiah
Good shout - definitely worth connecting pattern matching/destructuring to
the same concept.
Let's assume `#{}` is kept, for the avoidance of bikeshedding:
```js
const map = Map#{42: "the answer"};
const #{42: fortyTwo} = someMap;
// or?
const {[42]: fortyTwo} = someMap;
console.log(fortyTwo); // "the answer"
```
And presumably:
```js
match (map) {
#{42: _}: `42 is ${_}`,
else: `who knows?`,
}
```
I'd be wary of just powering ahead with pattern matching /without/
considering generalised mapping/sequence syntax...
On 30 July 2017 at 16:41, Isiah Meadows <[email protected]> wrote:
> How about for now, let's hold off on anything concrete until after the
> pattern matching proposal gets to a point we can model the syntax and
> semantics after that. There's quite a bit of overlap in terms of behavior,
> too, which is more reason to consider this together with it.
>
> https://github.com/tc39/proposal-pattern-matching
>
> (I don't believe there's an issue over there for potential future
> expansion to extensible destructuring assignment, but there should be.)
>
> On Sun, Jul 30, 2017, 11:34 Darien Valentine <[email protected]>
> wrote:
>
>> While static analysis is one advantage, there are additional reasons for
>> this to be a syntactic proposal. A helper method like `Map.fromObject`
>> could indeed be a useful addition to the language (though it is simple
>> enough to do already: `new Map(Object.entries(obj))`) — however that does
>> not work for maps whose keys are not also valid property keys.
>>
>> In general I’m in the less-new-syntax camp, but I find this idea
>> intriguing. My initial impression is that it’s fairly convincing, mainly
>> because my (purely anecdotal) experience is that it is an attempt to solve
>> a real problem — many devs seem to be reluctant to use `Map` and `Set`,
>> despite knowing they exist and are sometimes more appropriate models, and I
>> think it is in part due to their "second class" nature; in ES folks are
>> accustomed to "seeing" data structures. Similarly there is reluctance to
>> work with subclasses of data structures, which are put on equal-footing by
>> this proposal.
>>
>> The `#` is indeed ugly, but the particular symbol I imagine is highly
>> bikesheddable and consideration of it could probably be deferred till it’s
>> determined whether the core ideas of the proposal represent a worthwhile
>> addition.
>> _______________________________________________
>> es-discuss mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss