0 szavazat
(5e pont) által 
által újracímkézett

Belefutottam egy ilyen JavaScript JSLint hibába, hogy:

Problem at line 1 character 1: Missing "use strict" statement.

Vagyis, hogy hiányzik a "use strict" kifejezés. Utánakerestem és azt találtam, hogy vannak, akik hozzáadják ezt a kódjukhoz. Mikor én is hozzáadtam, ez a hiba eltűnt. Viszont a Google-n nem sok mindent találtam róla, hogy mi van e kifejezés mögött. Valószínűleg azzal csinál valamit, hogy a JavaScript-et a böngésző hogyan értelmezi, de fogalmam sincs mi lehet a hatása.

Szóval mi a "use strict"; mit von maga után és még fontos-e?

Reagál-e bármelyik böngésző a "use strict"; string-re vagy csak későbbiekben lesz hasznos?

1 válasz

0 szavazat
(5e pont) által 
 
Legjobb válasz

A Strict Mode az ECMAScript 5-nek egy új funkciója, ami lehetővé teszi, hogy a programodat vagy a függvényedet egy szigorú működési környezetbe helyezd. Ez a szigorú működési környezet megakadályoz néhány műveletet és több hibát dob fel.

És:

A Strict Mode a következőképpen segít:
- Felhívja a figyelmet néhány kódolási "baki"-ra és szól róla
- Megakadályozza és hibát dob, ha valamilyen viszonylag "nem biztonságos" műveletet akarsz végrehajtani (például hozzáférést nyerni egy globális objektumhoz)
- Letiltja a funkciókat, amik összezavaróak vagy szegényesen lettek kigondolva

Vedd azt is figyelembe, hogy a "strict mode"-ot tudod vonatkoztatni az egész fájlra vagy csak egy konkrét függvényre:

// Nincs strict mode...

(function(){
  "use strict";

  // Definiáld szigorúan a könyvtárad...
})();

// Nincs strict mode... 

Ami hasznos lehet ha régi és új kódot kell összekeverned ;-)
Segít neked, hogy kevesebb hibát csináljon a kódod, azzal, hogy érzékeli azokat a dolgokat, amik később hibákhoz (törésekhez) vezethetnek.

...