Refutable destructuring

Allen Wirfs-Brock allen at wirfs-brock.com
Fri Aug 9 17:45:09 PDT 2013


On Aug 9, 2013, at 5:37 PM, Allen Wirfs-Brock wrote:

> 
> On Aug 9, 2013, at 4:21 PM, Brandon Benvie wrote:
> 
>> On 8/9/2013 4:03 PM, Allen Wirfs-Brock wrote:
>>> const MUST = () => {throw TypeError("Missing required parameter"};
>>> 
>>> function foo (a=MUST(), b, c) {...}
>> 
>> But that doesn't work for:
>> 
>> ```js
>> function foo({ a } = { a: MUST() }){}
> 
> this would expressed as:
>    function foo( {a=MUST() }) {}

and if we make U+2639 a special token that evaluated to throw TypeError we could say 

  function foo( {a=☹ }) {}

;-)
Allen


More information about the es-discuss mailing list