mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-22 03:26:22 +00:00
1 KiB
1 KiB
date | id | title |
---|---|---|
2020-11-11 | c5fef6b1-c659-42ef-8b51-7657df6743e8 | JavaScript Strict Mode |
Description
Strict mode makes several changes to normal JavaScript semantics:
- Eliminates some JavaScript silent errors by changing them to throw errors.
- Fixes mistakes that make it difficult for JavaScript engines to perform optimizations: strict mode code can sometimes be made to run faster than identical code that's not strict mode.
- Prohibits some syntax likely to be defined in future versions of ECMAScript.
function canYouSpotTheProblem() {
"use strict";
for (counter = 0; counter < 10; counter++) {
console.log("Happy happy");
}
}
canYouSpotTheProblem();
// → ReferenceError: counter is not defined
In strict mode the `this` binding holds the value `undefined` in functions that are not called as methods:
"use strict";
function doSomething() {
console.log(this)
}