Skip to content

Commit 0e0fb5a

Browse files
committed
English changes applied
1 parent cdbb668 commit 0e0fb5a

File tree

3 files changed

+41
-30
lines changed

3 files changed

+41
-30
lines changed

1-js/02-first-steps/17-arrow-functions-basics/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Šipkové funkce - základy
1+
# Šipkové funkce základy
22

33
Existuje ještě jedna velice jednoduchá a výstižná syntaxe vytváření funkcí, která často bývá lepší než funkční výrazy.
44

@@ -48,7 +48,7 @@ Jak vidíte, `(a, b) => a + b` znamená funkci, která přijímá dva argumenty
4848
alert( dvojnásobek(3) ); // 6
4949
```
5050

51-
- Nejsou-li žádné argumenty, závorky budou prázdné (ale musejí být uvedeny):
51+
- Nejsou-li žádné argumenty, závorky budou prázdné, ale musejí být uvedeny:
5252

5353
```js run
5454
let řekniAhoj = () => alert("Ahoj!");
@@ -76,9 +76,9 @@ Jsou velmi vhodné pro jednoduché jednořádkové akce, kdy se nám prostě nec
7676

7777
## Víceřádkové šipkové funkce
7878

79-
Výše uvedené příklady přebíraly argumenty z levé strany `=>` a vyhodnocovaly s nimi pravou stranu.
79+
Šipkové funkce, které jsme doposud viděli, byly velmi jednoduché. Přebíraly argumenty z levé strany `=>`, vyhodnotily s nimi výraz na pravé straně a vrátily jeho hodnotu.
8080

81-
Někdy potřebujeme něco složitějšího, například více výrazů nebo příkazů za sebou. I to je možné, ale pak je musíme uzavřít do složených závorek. Uvnitř nich potom použijeme běžný příkaz `return`.
81+
Někdy potřebujeme složitější funkci s více výrazy a příkazy. V takovém případě je můžeme uzavřít do složených závorek. Hlavní rozdíl je v tom, že složené závorky vyžadují uvnitř `return`, aby mohly vrátit hodnotu (stejně jako běžná funkce).
8282

8383
Například takto:
8484

@@ -105,7 +105,7 @@ Prozatím už můžeme používat šipkové funkce pro jednořádkové akce a ca
105105

106106
## Shrnutí
107107

108-
Šipkové funkce se hodí pro jednořádkové funkce. Dají se napsat dvěma způsoby:
108+
Šipkové funkce se hodí pro jednoduché akce, zvláště pro jednořádkové funkce. Dají se napsat dvěma způsoby:
109109

110-
1. Bez složených závorek: `(...args) => výraz` -- na pravé straně je výraz: funkce jej vyhodnotí a vrátí jeho výsledek.
110+
1. Bez složených závorek: `(...args) => výraz` -- na pravé straně je výraz: funkce jej vyhodnotí a vrátí jeho výsledek. Závorky můžeme vynechat, má-li funkce pouze jeden argument, např. `n => n*2`.
111111
2. Se složenými závorkami: `(...args) => { tělo }` -- složené závorky nám umožňují uvést ve funkci více příkazů, ale aby funkce něco vrátila, musíme výslovně uvést `return`.

1-js/03-code-quality/01-debugging-chrome/article.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Pokud stiskneme `key:Esc`, otevře se dole konzole. Můžeme tam psát příkazy
3838

3939
Poté, co se příkaz vykoná, se dole zobrazí jeho výsledek.
4040

41-
Například `1+2` zde vydá výsledek `3` a `ahoj("debugger")` nevrátí nic, takže výsledek bude `undefined`:
41+
Například `1+2` zde vydá výsledek `3`, zatímco volání funkce `ahoj("debugger")` nevrátí nic, takže výsledek bude `undefined`:
4242

4343
![](chrome-sources-console.svg)
4444

@@ -63,12 +63,12 @@ V pravém panelu vždy najdeme seznam breakpointů. Ten je užitečný, když m
6363
- ...A tak dále.
6464

6565
```smart header="Podmíněné breakpointy"
66-
*Kliknutím pravým tlačítkem* na číslo řádku můžeme vytvořit *podmíněný* breakpoint. Ten se aktivuje, jen když je splněna zadaná podmínka.
66+
*Kliknutím pravým tlačítkem* na číslo řádku můžeme vytvořit *podmíněný* breakpoint. Ten se aktivuje, jen když je zadaný výraz, který byste měli uvést při vytvoření breakpointu, pravdivý.
6767
6868
To se hodí, když potřebujeme zastavit skript jen při určité hodnotě proměnné nebo pro určité parametry funkce.
6969
```
7070

71-
## Příkaz debugger
71+
## Příkaz debugger
7272

7373
Pozastavit kód můžeme také tím, že v něm použijeme příkaz `debugger`, například:
7474

@@ -84,8 +84,7 @@ function ahoj(jméno) {
8484
}
8585
```
8686

87-
To je velmi užitečné, když se nacházíme v editoru kódu a nechceme se přepínat do prohlížeče a hledat skript ve vývojářských nástrojích, abychom nastavili breakpoint.
88-
87+
Tento příkaz funguje jen tehdy, když jsou otevřené vývojářské nástroje, jinak jej prohlížeč ignoruje.
8988

9089
## Pozastavení a rozhlédnutí
9190

@@ -99,7 +98,7 @@ Prosíme otevřete si informační dropdowny vpravo (označené šipkami), kter
9998

10099
1. **`Watch` -- zobrazí aktuální hodnotu jakéhokoli výrazu.**
101100

102-
Můžete kliknout na plus `+` a zadat výraz. Debugger bude vždy zobrazovat jeho hodnotu, kterou při výkonu skriptu automaticky přepočítá.
101+
Můžete kliknout na plus `+` a zadat výraz. Debugger bude zobrazovat jeho hodnotu, kterou při výkonu skriptu automaticky přepočítá.
103102

104103
2. **`Call Stack` -- zobrazí řetězec vnořených volání funkcí.**
105104

@@ -137,11 +136,11 @@ K tomu slouží tlačítka na vrchu pravého panelu. Podívejme se na ně.
137136
Dalším a dalším klikáním můžeme procházet všechny příkazy skriptu jeden po druhém.
138137

139138
<span class="devtools" style="background-position:-62px -192px"></span> -- "Step over": vykoná další příkaz, ale *nevstoupí do funkce*, klávesa `key:F10`.
140-
: Podobá se předchozímu příkazu „Step“, ale chová se jinak, jestliže dalším příkazem je volání funkce. Ne však vestavěné funkce jako `alert`, ale námi nadefinované funkce.
141-
142-
Příkaz „Step“ do ní vstoupí a pozastaví provádění na jejím prvním řádku, zatímco „Step over“ neviditelně zavolá funkci a přeskočí její vnitřek.
139+
: Podobá se předchozímu příkazu „Step“, ale chová se jinak, jestliže dalším příkazem je volání funkce (ne však vestavěné funkce jako `alert`, ale námi nadefinované funkce).
143140

144-
Provádění se pak ihned po této funkci pozastaví.
141+
Když si je srovnáme, příkaz „Step“ do ní vstoupí a pozastaví provádění na jejím prvním řádku, zatímco „Step over“ provede vnořené volání funkce pro nás neviditelně a přeskočí její vnitřek.
142+
143+
Provádění se pak ihned po volání této funkce pozastaví.
145144

146145
To se hodí, když nás nezajímá, co se děje uvnitř volané funkce.
147146

@@ -157,7 +156,7 @@ K tomu slouží tlačítka na vrchu pravého panelu. Podívejme se na ně.
157156
: Toto tlačítko nemá vliv na provádění, jen hromadně zapne/vypne všechny breakpointy.
158157

159158
<span class="devtools" style="background-position:-90px -146px"></span> -- povolí/zakáže automatické pozastavení v případě chyby.
160-
: Když je povoleno a vývojářské nástroje jsou otevřeny, chyba ve skriptu způsobí automatické pozastavení jeho výkonu. Pak můžeme analyzovat jeho proměnné, abychom viděli, co je špatně. Když tedy náš skript skončí s chybou, můžeme otevřít debugger, povolit tuto možnost a znovu načíst stránku, abychom viděli, kde spadl a jaký je v tom okamžiku jeho kontext.
159+
: Když je povoleno a vývojářské nástroje jsou otevřeny, chyba během výkonu skriptu jej automaticky pozastaví. Pak můžeme v debuggeru analyzovat proměnné, abychom viděli, co je špatně. Když tedy náš skript skončí s chybou, můžeme otevřít debugger, povolit tuto možnost a znovu načíst stránku, abychom viděli, kde spadl a jaký je v tom okamžiku jeho kontext.
161160

162161
```smart header="Pokračovat až sem"
163162
Po kliknutí pravým tlačítkem myši na řádek kódu se otevře kontextové menu s výtečnou možností „Pokračovat až sem“ („Continue to here“).
@@ -189,7 +188,7 @@ Jak vidíme, existují tři hlavní způsoby, jak pozastavit skript:
189188
2. Příkazy `debugger`.
190189
3. Chyba (jsou-li vývojářské nástroje otevřené a tlačítko <span class="devtools" style="background-position:-90px -146px"></span> je „zapnuté“).
191190

192-
Když je kód pozastaven, můžeme jej ladit - prozkoumávat proměnné a trasovat kód, abychom viděli, kde se při jeho vykonávání něco pokazilo.
191+
Když je kód pozastaven, můžeme jej ladit: prozkoumávat proměnné a trasovat kód, abychom viděli, kde se při jeho vykonávání něco pokazilo.
193192

194193
Vývojářské nástroje obsahují mnohem více možností, než jsme zde uvedli. Kompletní manuál najdete na <https://developers.google.com/web/tools/chrome-devtools>.
195194

1-js/04-object-basics/07-optional-chaining/article.md

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Volitelné zřetězení „?.“
32

43
[recent browser="new"]
@@ -32,7 +31,7 @@ V mnoha praktických případech bychom však zde raději získali `undefined` m
3231
let html = document.querySelector('.elem').innerHTML; // chyba, pokud je to null
3332
```
3433

35-
Opět platí, že pokud tento prvek neexistuje, při přístupu k `.innerHTML` z `null` dostaneme chybu. Ale v některých případech, kdy je nepřítomnost prvku normální, bychom se této chybě rádi vyhnuli a prostě přijali za výsledek `html = null`.
34+
Opět platí, že pokud tento prvek neexistuje, při přístupu k vlastnosti `.innerHTML` z `null` dostaneme chybu. Ale v některých případech, kdy je nepřítomnost prvku normální, bychom se této chybě rádi vyhnuli a prostě přijali za výsledek `html = null`.
3635

3736
Jak to můžeme udělat?
3837

@@ -44,11 +43,19 @@ let uživatel = {};
4443
alert(uživatel.adresa ?ivatel.adresa.ulice : undefined);
4544
```
4645

47-
Funguje to, nenastala žádná chyba... Ale není to příliš elegantní. Jak vidíme, `"uživatel.adresa"` se v kódu objevuje dvakrát. U hlouběji vnořených vlastností to bude problém, protože bude vyžadováno více opakování.
46+
Funguje to, nenastala žádná chyba... Ale není to příliš elegantní. Jak vidíme, `uživatel.adresa` se v kódu objevuje dvakrát.
4847

49-
Např. zkusme získat `uživatel.adresa.ulice.název`.
48+
Takto by vypadalo totéž pro `document.querySelector`:
5049

51-
Musíme zkontrolovat jak `uživatel.adresa`, tak `uživatel.adresa.ulice`:
50+
```js run
51+
let html = document.querySelector('.elem') ? document.querySelector('.elem').innerHTML : null;
52+
```
53+
54+
Vidíme, že hledání prvku `document.querySelector('.elem')` se zde ve skutečnosti volá dvakrát. To není dobré.
55+
56+
Pro hlouběji vnořené vlastnosti to bude ještě ošklivější, protože bude vyžadováno více opakování.
57+
58+
Například zkusme podobným způsobem získat `uživatel.adresa.ulice.název`.
5259

5360
```js
5461
let uživatel = {}; // uživatel nemá adresu
@@ -58,7 +65,7 @@ alert(uživatel.adresa ? uživatel.adresa.ulice ? uživatel.adresa.ulice.name :
5865

5966
Je to ošklivé a člověk může mít problémy takovému kódu porozumět.
6067

61-
Ani na to nemyslete, jelikož existuje lepší způsob, jak to napsat, a to pomocí operátoru `&&`:
68+
Existuje trochu lepší způsob, jak to napsat, a to pomocí operátoru `&&`:
6269

6370
```js run
6471
let uživatel = {}; // uživatel nemá adresu
@@ -92,6 +99,13 @@ alert( uživatel?.adresa?.ulice ); // undefined (bez chyby)
9299
93100
Kód je krátký a jasný, není v něm žádné zdvojení.
94101
102+
Zde je příklad s `document.querySelector`:
103+
104+
```js run
105+
let html = document.querySelector('.elem')?.innerHTML; // není-li žádný prvek, bude null
106+
```
107+
108+
95109
Načtení adresy pomocí `uživatel?.adresa` funguje i tehdy, když objekt `uživatel` neexistuje:
96110
97111
```js run
@@ -162,11 +176,11 @@ uživatelAdmin.admin?.(); // Jsem admin
162176
*/!*
163177
164178
*!*
165-
uživatelHost.admin?.(); // nic (taková metoda není)
179+
uživatelHost.admin?.(); // nic se nestane (taková metoda není)
166180
*/!*
167181
```
168182

169-
Zde na obou řádcích nejprve použijeme tečku (`uživatelAdmin.admin`) k získání vlastnosti `admin`, protože předpokládáme, že objekt uživatele existuje, takže je bezpečné z něj číst.
183+
Zde na obou řádcích nejprve použijeme tečku (`uživatelAdmin.admin`) k získání vlastnosti `admin`, protože předpokládáme, že objekt `uživatel` existuje, takže je bezpečné z něj číst.
170184

171185
Pak `?.()` prověří levou stranu: jestliže funkce `admin` existuje, pak se spustí (tak tomu je pro `uživatelAdmin`). Jinak (pro `uživatelHost`) se vyhodnocování zastaví bez chyb.
172186

@@ -199,10 +213,8 @@ Například:
199213
let uživatel = null;
200214
201215
uživatel?.jméno = "Jan"; // Chyba, nefunguje to
202-
// protože se to vyhodnotí jako undefined = "Jan"
216+
// protože se to vyhodnotí jako: undefined = "Jan"
203217
```
204-
205-
Tak elegantní to zase není.
206218
````
207219

208220
## Shrnutí
@@ -217,4 +229,4 @@ Jak vidíme, všechny jsou srozumitelné a snadno se používají. `?.` ověří
217229

218230
Řetězec více `?.` nám umožňuje bezpečný přístup k vnořeným vlastnostem.
219231

220-
Přesto bychom měli používat `?.` opatrně a jen tehdy, když je přijatelné, aby levá strana skutečně neexistovala. Tak se před námi neukryjí programátorské chyby, jestliže k nim dojde.
232+
Přesto bychom měli používat `?.` opatrně a jen tehdy, když je podle logiky našeho kódu přijatelné, aby levá strana skutečně neexistovala. Tak se před námi neukryjí programátorské chyby, jestliže k nim dojde.

0 commit comments

Comments
 (0)