As previously mentioned, we've decided to allow "const" variable
declarations into ES3.1 under the "parses on 3/4 browser rule"
(FF,Safari,Opera) since it also aids integrity. However, it's a bit
mysterious how to declare formal parameter variables to be const in a
way that'll parse on 3/4 browsers. Both Firefox and Safari reject
function foo(x, const y) { return [x, y];}
as a syntax error. However, they both accept
function foo(x, y) { var y; return [x, y];}
and they correctly do not treat the "var x;" as shadowing the "x"
parameter variable. So I thought I'd try
function foo(x, y) { const y; return [x, y];}
On FF 2.0.0.14 under squarefree this gives a "TypeError on line 1:
redeclaration of formal parameter y". On Safari it parses fine, but of
course that the const-ness is not yet enforced. Would ES4 interpret
the above syntax as declaring the "y" parameter variable to be const?
If so, what immediate plans do FF and Opera have re this syntax? If
both expect this to parse soon, perhaps we should stretch our 3/4 rule
and permit it? If not, any other suggestions for declaring formal
parameter variables to be const in ES3.1?
--
Cheers,
--MarkM
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss