Skip to content

Commit c42e5fc

Browse files
authored
Update article.md
1 parent d430ad2 commit c42e5fc

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed
Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
# A modern mode, "use strict"
1+
# Modern üzemmód, "use strict"
22

3-
Egy hosszú ideig a JavaScript kompatibilitási hibák nélkül fejlődött. Új funkciók gyakran jelentek meg, ám a régiek viszont sosem változtak.
3+
A JavaScript hosszú ideig kompatibilitási nehézségek nélkül fejlődött. A nyelv új elemekkel bővült, a meglévőek pedig változatlanok voltak.
44

5-
Ennek nagy előnye volt, hogy a kódot bármikor is írták mindig helytálló maradt, ám viszont azzal hogy a régi dolgok sosem változtak azzal az a nagy baj, hogy bármilyen imperfekciót is ejtettek a JavaScript készítői, az örökre a nyelvben ragadt.
5+
A nyelv újabb verziói így kompatibilisek maradtak a korábban írt programokkal, cserébe viszont együtt kellett élni a nyelv tervezésekor hozott rossz döntésekkel.
66

7-
Ez volt a helyzet, míg 2009-ben meg nem jelent az ECMAScript 5 (ES5). Az ES5 sok új funkciót hozott a JS-be és sok régit is megváltoztatott. Ahoz hogy a régi kód továbbá is működőképes maradhasson, ezeknek a változtatásoknak nagy részét alapból kikapcsolták. Ezeket a funciókat egy különleges diretívával kapcsolhatjuk be, a `"use strict"`-el.
7+
Ez volt a tényállás, mígnem 2009-ben megjelent az ECMAScript 5 (ES5), amely nem csak bővítette a nyelvet, hanem néhol meg is változtatta a működését. Annak érdekében, hogy ezek a változások ne okozzanak gondot a régebben írt programokban, e változtatások alapértelmezetten ki vannak kapcsolva, az engedélyezésükhöz pedig egy speciális "use strict" diektívát kell elhelyezni a kódban.
88

99
## "use strict"
1010

11-
Ez a direktíva pontosan úgy néz ki mint egy átlagos szöveg (string) objektum: `"use strict"`, vagy `'use strict'`. Mikor ezt a direktívát a szkript tetejére hejezed, akkor az a szkriptet arra utasítja, hogy a "modern módon" működjön.
11+
Ez a direktíva ránézésre egy átlagos szöveg (string): "use strict", vagy 'use strict'. A szkript tetejére helyezve azonban arra utasítja a JS motort, hogy a szkriptet modern üzemmódban futtassa.
1212

1313
Példa:
1414

1515
```js
1616
"use strict";
1717

18-
// ez a kód a modern úton fog működni
18+
// a kód modern üzemmódban fog működni
1919
...
2020
```
2121

22-
Nemsokára külön tanulni fogunk a függvényekről (egy mód JS parancsok csoportosítására), de előre lefektethetjük, hogy a `"use strict"`-et tudjuk használni függvények elején. Ezzel azt érhetjük el, hogy csak azon a függvényen belül fusson modern módon a kód. De általában az egész szkriptre szokták használni a `"use strict"`-et.
22+
Hamarosan szó lesz a függvényekről (JS parancsok csoportosításának egy módja). Elöljáróban elég annyit megjegyeznünk, hogy a "use strict" egy függvény elején elhelyezve csak az adott függvényen belül engedélyezi a modern üzemmódot. Általában azonban az egész szkriptre szokták használni a "use strict"-et.
2323

2424
````warn header="Győződj meg róla, hogy a \"use strict\" mindig a szkript tetején van!"
2525
Fontos, hogy a `"use strict"` **mindig** a szkript elején legyen, különben a modern mód nem lesz bekapcsolva.
@@ -28,62 +28,61 @@ Ebben a példában a `"use strict" hibás elhelyezkedése miatt a modern mód ne
2828
2929
```js no-strict
3030
alert("valami");
31-
// a "use strict"-et ignorálja a kód, hacsak nem a szkript, vagy egy függvény legelején van.
32-
31+
// az alábbi "use strict" érvénytelen -- a szkript legtetején kell elhelyezni
3332
"use strict";
3433
35-
// a strict mode ki van kapcsolva
34+
// a strict üzemmód nincs engedélyezve
3635
```
3736
3837
A `"use strict"` felé csak kommenteket szabad tenni.
3938
````
4039

4140
```warn header="A `use strict`-et nem lehet utólag kikapcsolni"
42-
Nincsen olyan direktíva, mint például egy `"no use strict"`, ami visszaállítaná a motort a régi viselkedési módra.
41+
Nincsen olyan direktíva, mint például egy "no use strict", ami visszaállítaná a motort az alapértelmezett üzemmódra.
4342

44-
Ha egyszer bekapcsoltad a strict modeot, nincs visszaút.
43+
Ha egyszer bekapcsoltuk a strict üzemmódot, nincs visszaút.
4544
```
4645
47-
## Használat a böngészők consolejain belül
46+
## Használat a böngésző konzolban
4847
49-
Ha a [fejlesztői consolet](info:devtools) használod a kódod futtatására, akkor fontos, hogy az utóbbi alapból nem használ `strict mode`-ot.
48+
Ha a [fejlesztői konzolt](info:devtools) használod kód futtatására, fontos tudni, hogy alapértelmezetten nem strict üzemmódot használ.
5049
51-
Bizonyos alkalmakkor, amikor a `use strict` különbséget tesz, akkor nem kívánt eredményeket kaphatsz.
50+
Bizonyos esetekben a "use strict" használatával nem várt eredményeket kaphatunk.
5251
53-
De akkor hogyan is használjuk helyesen a `use strict`-et a consoleban?
52+
De egyáltalán hogyan használjuk a use strict-et a konzolban?
5453
55-
Először is, megpróbálhatod a `Shift+Enter` gombok lenyomásával több sorba írni a kódot, majd az egész legetetejére odatenni a `use strict`-et. Az utóbbi valahogy így fog kinézni:
54+
Először próbáljuk meg a Shift+Enter gombok lenyomásával több sorba írni a kódot, majd a legelejére odatenni a use strict-et. Valahogy így:
5655
5756
```js
58-
'use strict'; <Shift+Enter, hogy új sort kezdj>
57+
'use strict'; <Shift+Enter, hogy új sort kezdjünk>
5958
// ...a kódod
60-
<Nyomd meg az entert a futtatáshoz>
59+
<Nyomjunk entert a futtatáshoz>
6160
```
6261

6362
Ez a legtöbb böngészőben (mint például a Chrome vagy a Firefox) működik.
6463

65-
Ha esetleg mégse (például egy régi böngészőben), akkor van egy csúnya, de megbízható megoldás a `use strict` használatára. Egy ilyesmi kód blokkra lesz szükségünk:
64+
Ha ez nem működne (például régi böngészőben), akkor egy megbízható megoldás az alábbi konstrukció használata:
6665

6766
```js
6867
(function() {
6968
'use strict';
7069

71-
// ...a kód hátralévő része...
70+
// ...a futtatandó kódunk...
7271
})()
7372
```
7473

7574
## Használjuk-e a "use strict"-et?
7675

77-
Ez a kérdés, míg először eléggé egyértelműnek hangzik, a valóságban nem az.
76+
Habár a kérdés egyértelműnek hangzik, nem az.
7877

79-
Ugye, egyesek azt ajánlanák, hogy használd előszeretettel a `"use strict"`-et ...De tudod mi itt a menő dolog?
78+
Okkal gondolhatnánk, hogy mindig érdemes használni a "use strict"-et, de erre nincs szükség.
8079

81-
A modern JavaScript támogat olyanokat mint például a "class"-ek és a "module"-ok (majd azokat is tanulni fogjuk), amik automatikusan engedélyezik a `"use strict"`-et. Tehát ha ilyenek vannak a kódunkban, a `"use strict"`-et nyugodtan nélkülözhetjük.
80+
A modern JavaScript egyes nyelvi elemei, mint az osztály (class) és a modul (module) - ezeket később részletezzük - alapértelmezetten strict üzemmódban futnak, így ezeknek a nyelvi elemeknek a használatakor a "use strict" elhagyható.
8281

83-
**Tehát egyelőre a `"use strict";` az csak egy kis extra a szkriptjeink elején. Később, amikor a kódunk tele lesz modulokkal és classokkal, már nyugodtan kihagyhatjuk a `"use strict"`-et.**
82+
**Egyelőre jó, ha használjuk a "use strict"-et, de később, amikor a kódunk modulokból és osztályokból áll, elhagyhatjuk.**
8483

8584
Jelenleg, az alapok miatt jó tudni a `use strict` létezéséről.
8685

8786
A következő fejezetekben tanulunk majd egy kicsit a nyelvi funckiókról és az új és régi módok közti különbségekről. Szerencsénkre az utóbbiakból nincsen sok, és azok amik vannak azok is csak a mi dolgunkat fogják könnyíteni.
8887

89-
Az ebben a fejezetben lévő példák mind elvárják a "strict mode" használatát, hacsak ennek az állításnak hamisságát nem fejeztük ki előre.
88+
Az ebben a fejezetben lévő példák, ha nincs másként feltüntetve, strict üzemmódot feltételeznek.

0 commit comments

Comments
 (0)