Correct, when `const foo;` throws, my concern doesn't exist. The concern I was talking about is if this initial suggestion went through, and `const foo;` would become `const foo = 'foo';`, that a new refactoring hazard would be created - which is the entire reason `const foo;` throws as-is.
Agreed that an `enum` construct would be very useful. On Tue, Dec 15, 2015 at 11:56 AM, Andrea Giammarchi < [email protected]> wrote: > Jordan AFAIK you can't have undefined const declaration so your concern is > unfounded. > > However, I'm pretty sure what Brendan says **is** indeed what developers > want so I'd +1 that without problems. > > Regards > > On Tue, Dec 15, 2015 at 4:44 PM, Jordan Harband <[email protected]> wrote: > >> That seems hazardous - if someone is converting a "var" codebase to >> "const" and "let", and they convert `var foo;` to `const foo;` expecting it >> to be undefined, the current TDZ error will be much more helpful to them >> than a silent change of meaning in their code to `const foo = 'foo';`. >> >> On Tue, Dec 15, 2015 at 8:35 AM, Kip Obenauf <[email protected]> >> wrote: >> >>> A common pattern I see is this: >>> const ADD_ALL_THE_STUFF = 'ADD_ALL_THE_STUFF' >>> >>> Would it be helpful to allow a shorter version of this to be: >>> const ADD_ALL_THE_STUFF >>> >>> Rather than have that just be forever undefined, it could automatically >>> refer to a string of the same name, i.e. 'ADD_ALL_THE_STUFF'. >>> >>> _______________________________________________ >>> 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

