How can the Selector/Select Expression be used with
`Array.prototype.find()`? What happens when the property is not defined?

For example using the same code for more than one browser

```
const stream = [canvasStream, videoTrack].find(({requestFrame: _}) => _);
```

the property `requestFrame` is either defined or not defined at
```canvasStream``` or ```videoTrack``` depending on the implementation.
Although the assigned variable can be reduced to 1 character at
destructuring assignment, there is still the redundancy of writing ```_```
again on the right side of ```=>```.

If the property is not found, is the result ```undefined```?

What is the least amount characters necessary using Selector/Select
Expression with ```find()```?

```
const stream = [canvasStream, videoTrack].find(=.requestFrame);
```

?

On Thu, Jun 27, 2019 at 8:48 PM Bob Myers <r...@gol.com> wrote:

> Not exactly, since the optional chaining operator is `?.` with no space in
> between.
>
> On Thu, Jun 27, 2019 at 1:37 PM Simon Farrugia <simonfarrugi...@gmail.com>
> wrote:
>
>> Also, without a leading token, a selector expr with the optional chaining
>> operator inside a ternary operator would be ambiguous.
>>
>> ```
>>
>> const contactSelector = true ? .contacts.email : .contacts.phone;
>>
>> ```
>>
>>
>> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to