disabling "use strict"; everywhere

Brandon Benvie brandon at brandonbenvie.com
Wed Jan 30 08:19:11 PST 2013


Correction, the use strict directive needs to appear as the first statement
(ExpressionStatement) that's not an EmptyStatement and not a
FunctionDeclaration. Anything else will cause the directive to be ignored.


On Wed, Jan 30, 2013 at 11:15 AM, Brandon Benvie
<brandon at brandonbenvie.com>wrote:

> To enable strict mode, the "use strict" expression must come as the first
> non-statement of a script or function body. That means
>     function x(){}
>     "use strict";
>
> Will enable strict mode, but
>
>     (function x(){});
>     "use strict";
>
> won't. To make your example strict, you'd have to do
>
>     with (ob) {
>       (function(){
>         "use strict'";
>         /* concatenated stuff */
>       })();
>     }
>
>
> On Wed, Jan 30, 2013 at 10:48 AM, Claude Pache <claude.pache at gmail.com>wrote:
>
>> Le 30 janv. 2013 à 06:12, Andrea Giammarchi <andrea.giammarchi at gmail.com>
>> a écrit :
>>
>> I have a blog post about it called
>>
>> Resurrecting The With Statement
>>
>> and before I post the link, there the long story short:
>>
>> putting `with(this){` before any build process/inlined library and `}` at
>> the end of all concatenated files nobody is strict anymore ^_^
>>
>>
>> For what I understand of ES5, putting some random stuff (other than
>> string literals or comments) before a "use strict" directive at the
>> beginning of a file will disable it. This is a known fact, orthogonal to
>> the "Function + with" dirty/creative hack of your blog post.
>>
>>  —Claude
>>
>>
>> http://webreflection.blogspot.com/2013/01/resurrecting-with-statement.html
>>
>>
>> I actually like this possibility, but I'd like to know what you think
>> about it
>>
>>
>> br
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130130/c9bad301/attachment.html>


More information about the es-discuss mailing list