'switch' operator improvement
Eugen.Konkov at aldec.com
Eugen.Konkov at aldec.com
Tue Oct 16 08:14:35 PDT 2007
I think switch ... case construction must be interpreted as:
function f(g) {
if( x == g() ) .... // case g():
if( .... // case ...
}
----- Original Message -----
From: "Dave Herman" <dherman at ccs.neu.edu>
To: "Lars T Hansen" <lth at acm.org>
Cc: <Eugen.Konkov at aldec.com>; <Es4-discuss at mozilla.org>
Sent: Tuesday, October 16, 2007 6:04 PM
Subject: Re: 'switch' operator improvement
> It's clever, but it's a special case that may not abstract very
> smoothly. For example:
>
> function f(g) {
> switch (x) {
> case g():
> ...
> }
> }
>
> The behavior of my function depends on whether g() returns a RegEx or a
> non-RegEx. Maybe that's what you want, but it means it's an extra
> special case that you have to be aware of whenever abstracting a case
> statement.
>
> Dave
>
> Lars T Hansen wrote:
>> Neat, though it breaks backward compatibility -- each regexp is
>> converted to string before the comparison, IIRC. (Compatibility may
>> not be a big problem in practice in this case.)
>>
>> --lars
>>
>> On 10/16/07, Eugen.Konkov at aldec.com <Eugen.Konkov at aldec.com> wrote:
>>>
>>> allow RegEx in case
>>>
>>> var str= 'a';
>>> switch( str ) {
>>> case /a/:
>>> alert('a');
>>> break;
>>>
>>> case /b/:
>>> alert('b');
>>> break;
>>> }
>>>
>>> _______________________________________________
>>> Es4-discuss mailing list
>>> Es4-discuss at mozilla.org
>>> https://mail.mozilla.org/listinfo/es4-discuss
>>>
>>>
>> _______________________________________________
>> Es4-discuss mailing list
>> Es4-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es4-discuss
>
More information about the Es4-discuss
mailing list