Merge pull request #543 from cpxPratik/patch-5

Update article.md
This commit is contained in:
Ilya Kantor 2017-05-05 01:57:40 +03:00 committed by GitHub
commit 3c4ddf4c92

View file

@ -2,9 +2,9 @@
For a long time JavaScript was evolving without compatibility issues. New features were added to the language, but the old functionality did not change.
That had the benefit of never breaking the existing code. But the back side is that any mistake or an imperfect decision made by JavaScript creators got stuck in the language forever.
That had the benefit of never breaking the existing codes. But the downside was that any mistake or an imperfect decision made by JavaScript creators got stuck in the language forever.
It had been so before 2009 when ECMAScript 5 (ES5) appeared. It added new features to the language and modified some of the existing ones. To keep the old code working, most modifications are off by default. One needs to enable them explicitly with a special directive `"use strict"`.
It had been so until 2009 when ECMAScript 5 (ES5) appeared. It added new features to the language and modified some of the existing ones. To keep the old code working, most modifications are off by default. One needs to enable them explicitly with a special directive `"use strict"`.
[cut]
@ -35,7 +35,7 @@ There is no strict mode here:
```js no-strict
alert("some code");
// "use strict" below is ignored, must be not on the top
// "use strict" below is ignored, must be on the top
"use strict";
@ -60,11 +60,11 @@ It is recommended to always start a script with `"use strict"`, for the followin
1. First, all modern browsers support it. Only outdated ones like Internet Explorer 9 and below do not.
2. Second, the modern JavaScript actually forces us into the strict mode. There are several modern language features like "classes" and "modules" that enable strict mode automatically. So, it's hard to evade it.
Here in the tutorial all code (where not explicitly noted otherwise) works in `"use strict"`. We concentrate on modern JavaScript. But there will be notes about what happens without `"use strict"`, so that you can understand what's going on if you forget it or if you're working with an outdated script that doesn't have it.
Here in the tutorial, all code (where not explicitly noted otherwise) works in `"use strict"`. We concentrate on modern JavaScript. But there will be notes about what happens without `"use strict"`, so that you can understand what's going on if you forget it or if you're working with an outdated script that doesn't have it.
## Summary
- The `"use strict"` directive switches the engine to the "modern" mode, changing the behavior of some builtin features.
- The `"use strict"` directive switches the engine to the "modern" mode, changing the behavior of some built-in features.
- Several modern features of the language enable `"use strict"` implicitly, so it's quite hard to evade it.
It's always recommended to start scripts with `"use strict"`. All examples in this book assume so, unless (very rarely) specified otherwise.