Loading ...
Sorry, an error occurred while loading the content.

use strict

Expand Messages
  • Douglas Crockford
    JSLint now accepts the use strict declaration. This is in anticipation of the next edition of ECMAScript. Strict mode will reject many problematic features
    Message 1 of 7 , May 27, 2008
    • 0 Attachment
      JSLint now accepts the "use strict" declaration. This is in
      anticipation of the next edition of ECMAScript. Strict mode will
      reject many problematic features that are tolerated by the current
      specification.

      The strict mode declaration is a string that starts with the word "use
      strict" that is followed by a semicolon. If it is present, it must be
      the first statement of a compilation unit.

      "use strict";

      It is harmless in current programs. Someday, it will make programs
      more reliable.
    • Douglas Crockford
      Anticipating the next edition of ECMAScript, JSLint now allows the useExtension suffix on the use strict directive. It also allows the use strict directive as
      Message 2 of 7 , Feb 11, 2009
      • 0 Attachment
        Anticipating the next edition of ECMAScript, JSLint now allows the
        useExtension suffix on the use strict directive. It also allows the
        use strict directive as the first statement of a function body.
      • James
        I run all my JavaScript through a strict version of JSLint, run it with a careful eye toward any warning messages found in Firebug, and I think my code is
        Message 3 of 7 , Nov 1, 2010
        • 0 Attachment
          I run all my JavaScript through a strict version of JSLint, run it with a careful eye toward any warning messages found in Firebug, and I think my code is quite good. What advantage is there to adding "use strict" to the top of my code? Will it catch errors I'm not already catching? Will it actually run faster or parse better in any browsers?

          Thanks,
          James
        • Rob Richardson
          use strict identifies you re opting into the ECMAScript 5 mode of the same name. Rob ... From: jslint_com@yahoogroups.com [mailto:jslint_com@yahoogroups.com]
          Message 4 of 7 , Nov 2, 2010
          • 0 Attachment
            "use strict" identifies you're opting into the ECMAScript 5 mode of the same
            name.

            Rob


            -----Original Message-----
            From: jslint_com@yahoogroups.com [mailto:jslint_com@yahoogroups.com] On
            Behalf Of James
            Sent: Monday, November 01, 2010 1:25 PM
            To: jslint_com@yahoogroups.com
            Subject: [jslint] use strict

            I run all my JavaScript through a strict version of JSLint, run it with a
            careful eye toward any warning messages found in Firebug, and I think my
            code is quite good. What advantage is there to adding "use strict" to the
            top of my code? Will it catch errors I'm not already catching? Will it
            actually run faster or parse better in any browsers?

            Thanks,
            James
          • James
            Yes, I understand. But why should I? If I always drive the speed limit, why should I put a speed regulator on my car? There may very well be a reason, I
            Message 5 of 7 , Nov 3, 2010
            • 0 Attachment
              Yes, I understand. But why should I? If I always drive the speed limit, why should I put a speed regulator on my car? There may very well be a reason, I just want to know what advantage there is for me.

              --- In jslint_com@yahoogroups.com, "Rob Richardson" <erobrich@...> wrote:
              >
              > "use strict" identifies you're opting into the ECMAScript 5 mode of the same
              > name.
              >
              > Rob
            • Luke Page
              ECMAScript 5 may be (negligably) faster, but the main benefit you get is in using/preparing to use a language that is more sane and developed and is the future
              Message 6 of 7 , Nov 3, 2010
              • 0 Attachment
                ECMAScript 5 may be (negligably) faster, but the main benefit you get is in
                using/preparing to use a language that is more sane and developed and is the
                future of JavaScript. I'm sure you'll find lots of links as to the
                advantages if you google it. It shouldn't make your code slower.

                On 3 November 2010 13:34, James <jacob@...> wrote:

                >
                >
                > Yes, I understand. But why should I? If I always drive the speed limit, why
                > should I put a speed regulator on my car? There may very well be a reason, I
                > just want to know what advantage there is for me.
                >
                >
                > --- In jslint_com@yahoogroups.com <jslint_com%40yahoogroups.com>, "Rob
                > Richardson" <erobrich@...> wrote:
                > >
                > > "use strict" identifies you're opting into the ECMAScript 5 mode of the
                > same
                > > name.
                > >
                > > Rob
                >
                >
                >


                [Non-text portions of this message have been removed]
              • Joshua Bell
                ... This post has a reasonable summary: http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ In browsers today, the use strict directive does nothing.
                Message 7 of 7 , Nov 3, 2010
                • 0 Attachment
                  On Wed, Nov 3, 2010 at 6:34 AM, James <jacob@...> wrote:

                  > Yes, I understand. But why should I? If I always drive the speed limit,
                  > why should I put a speed regulator on my car? There may very well be a
                  > reason, I just want to know what advantage there is for me.


                  This post has a reasonable summary:

                  http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

                  In browsers today, the use strict directive does nothing.

                  In future browsers, the use strict directive will cause subtly different
                  behavior in parts of ECMAScript you probably shouldn't be using anyway.
                  JSLint attempts to warn you about some of those. Tracking es-discuss, it
                  does not appear that there are any fully conforming ES5 implementations, so
                  it is not possible to verify that your scripts are, in fact, strict-mode
                  compliant. (That is, that they behave as you would expect.)

                  IMHO, unless you are aware of the differences to the language that strict
                  mode introduces, the safest thing to do at this point is to ask JSLint (or
                  similar tools) to look for strict mode violations, but not deploy with a
                  "use strict" directive.

                  -- Josh


                  [Non-text portions of this message have been removed]
                Your message has been successfully submitted and would be delivered to recipients shortly.