"no strict"; directive

Oliver Hunt oliver at apple.com
Thu Nov 15 11:55:18 PST 2012


On Nov 15, 2012, at 11:44 AM, Andrea Giammarchi <andrea.giammarchi at gmail.com> wrote:

> I wonder if there is any plan to allow a chunk of code to disable for its own closure purpose a previously called "use strict"; directive.
> 
> This is about the ability to use, when not possible otherwise, some good old feature such caller which is impossible to replicate when use strict is in place.
> 
> I am talking about arguments.callee, I am talking about caller.

arguments.callee and .caller are not good features.

Being able to access your caller is a misfeature.

arguments.callee is simply unnecessary.

Also having the ability to lose strict semantics at arbitrary locations in the middle of other strict modes makes things even slower, and adds all sorts of weird semantic behaviours (eg. what would eval('"no strict"; var x;') do? -- this is hypothetical, just given as a trivial example of where things go weird)

--Oliver


More information about the es-discuss mailing list