Skip to content

Commit ccd5b75

Browse files
authored
Merge pull request #51 from otmon76/master
changes from English version implemented
2 parents 26ed303 + 677a86a commit ccd5b75

File tree

20 files changed

+501
-588
lines changed

20 files changed

+501
-588
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,6 @@ Jsou i další. Samozřejmě i když používáme některý z transpilovaných j
117117

118118
## Shrnutí
119119

120-
<<<<<<< HEAD
121120
- JavaScript byl původně vytvořen jako jazyk určený výhradně pro prohlížeč, ale dnes se používá i v mnoha jiných prostředích.
122121
- Dnes si JavaScript vydobyl unikátní postavení jako nejrozsáhleji přijímaný prohlížečový jazyk s plnou integrací s HTML/CSS.
123122
- Existuje mnoho jazyků, které jsou „transpilovány“ do JavaScriptu a poskytují určité vlastnosti. Až zvládnete JavaScript, doporučujeme vám, abyste se na ně alespoň krátce podívali.
124-
=======
125-
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
126-
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
127-
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
128-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6

1-js/02-first-steps/05-types/article.md

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -40,31 +40,22 @@ Kromě běžných čísel obsahuje JavaScript i tzv. „speciální číselné h
4040
```js run
4141
alert( Infinity ); // Infinity
4242
```
43+
4344
- `NaN` (z anglického „not a number“ -- není číslo) představuje výpočetní chybu. Je to výsledek nekorektní nebo nedefinované matematické operace, například:
4445

4546
```js run
4647
alert( "to není číslo" / 2 ); // NaN, takové dělení je chybné
4748
```
4849

49-
<<<<<<< HEAD
5050
`NaN` je „lepkavé“. Jakákoli operace provedená s `NaN` vrátí opět `NaN`:
5151

52-
```js run
53-
alert( "to není číslo" / 2 + 5 ); // NaN
54-
```
55-
56-
Je-li tedy někde v matematickém výrazu `NaN`, přenese se až do jeho celkového výsledku.
57-
=======
58-
`NaN` is sticky. Any further mathematical operation on `NaN` returns `NaN`:
59-
6052
```js run
6153
alert( NaN + 1 ); // NaN
6254
alert( 3 * NaN ); // NaN
63-
alert( "not a number" / 2 - 1 ); // NaN
55+
alert( "to není číslo" / 2 - 1 ); // NaN
6456
```
6557

66-
So, if there's a `NaN` somewhere in a mathematical expression, it propagates to the whole result (there's only one exception to that: `NaN ** 0` is `1`).
67-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
58+
Je-li tedy někde v matematickém výrazu `NaN`, přenese se až do jeho celkového výsledku (jediná výjimka: `NaN ** 0` je `1`).
6859

6960
```smart header="Matematické operace jsou bezpečné"
7061
Veškeré matematické výpočty v JavaScriptu jsou „bezpečné“. Můžeme provádět cokoli: dělit nulou, zacházet s řetězci neobsahujícími číslo jako s čísly a podobně.
@@ -98,7 +89,6 @@ Právě nyní je `BigInt` podporován ve Firefoxu/Chrome/Edge/Safari, ale ne v I
9889
Nahlédnutím do [*MDN* tabulky kompatibility BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#Browser_compatibility) zjistíte, které verze prohlížeče jej podporují.
9990

10091
## Řetězec
101-
=======
10292

10393
Řetězec (anglicky string) v JavaScriptu musí být uzavřen do uvozovek.
10494

@@ -112,7 +102,7 @@ JavaScript rozeznává tři druhy uvozovek.
112102

113103
1. Dvojité uvozovky: `"Ahoj"`.
114104
2. Jednoduché uvozovky (apostrofy): `'Ahoj'`.
115-
3. Obrácené čárky (gravisy): <code>&#96;Hello&#96;</code>.
105+
3. Obrácené čárky (gravisy): <code>&#96;Ahoj&#96;</code>.
116106

117107
Dvojité uvozovky a apostrofy jsou „obyčejné“ uvozovky. V JavaScriptu mezi nimi není prakticky žádný rozdíl.
118108

@@ -253,10 +243,10 @@ Poslední tři řádky možná vyžadují podrobnější vysvětlení:
253243
2. Výsledkem `typeof null` je `"object"`. Toto je oficiálně přiznaná chyba chování `typeof`, která pochází z pravěku JavaScriptu a byla v něm ponechána kvůli kompatibilitě. Ve skutečnosti `null` není objekt. Je to speciální hodnota, která má svůj vlastní typ.
254244
3. Výsledkem `typeof alert` je `"function"`, protože `alert` je funkce. Funkce prostudujeme v dalších kapitolách, kde také uvidíme, že v JavaScriptu není žádný speciální typ „funkce“. Funkce jsou typu objekt. Avšak `typeof` s nimi zachází jinak a vrátí `"function"`. To také pochází z pravěku JavaScriptu. Technicky není toto chování korektní, ale v praxi může být užitečné.
255245
256-
```smart header="Syntaxe `typeof(x)` syntax"
246+
```smart header="Syntaxe `typeof(x)`"
257247
Můžete narazit i na jinou syntaxi: `typeof(x)`. To je totéž jako `typeof x`.
258248

259-
Abychom to objasnili: `typeof` je operátor, ne funkce. Závorky zde uvedené nejsou součástí `typeof`. Je to druh závorek používaný pro seskupování v matematice.
249+
Abychom to objasnili: `typeof` je operátor, ne funkce. Závorky zde uvedené nejsou součástí `typeof`. Je to stejný druh závorek, který se v matematice používá pro seskupování.
260250

261251
Zpravidla takové závorky obsahují matematický výraz, např. `(2 + 2)`, ale zde obsahují jen jediný argument `(x)`. Syntakticky umožňují vyhnout se mezeře mezi operátorem `typeof` a jeho argumentem. Některým lidem se to líbí.
262252

1-js/02-first-steps/08-operators/article.md

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -193,41 +193,22 @@ Následuje výtažek z [tabulky priorit](https://developer.mozilla.org/en-US/doc
193193
| Priorita | Název | Znak |
194194
|----------|-------|------|
195195
| ... | ... | ... |
196-
<<<<<<< HEAD
197-
| 17 | unární plus | `+` |
198-
| 17 | unární negace | `-` |
199-
| 16 | umocňování | `**` |
200-
| 15 | násobení | `*` |
201-
| 15 | dělení | `/` |
202-
| 13 | sčítání | `+` |
203-
| 13 | odčítání | `-` |
196+
| 15 | unární plus | `+` |
197+
| 15 | unární negace | `-` |
198+
| 14 | umocňování | `**` |
199+
| 13 | násobení | `*` |
200+
| 13 | dělení | `/` |
201+
| 12 | sčítání | `+` |
202+
| 12 | odčítání | `-` |
204203
| ... | ... | ... |
205-
| 3 | přiřazení | `=` |
204+
| 2 | přiřazení | `=` |
206205
| ... | ... | ... |
207206

208-
Jak vidíme, „unární plus“ má prioritu `17`, která je vyšší než priorita `13` „sčítání“ (binární plus). To je důvod, proč se ve výrazu `"+jablka + +pomeranče"` unární plusy vyhodnotí před sčítáním.
209-
=======
210-
| 15 | unary plus | `+` |
211-
| 15 | unary negation | `-` |
212-
| 14 | exponentiation | `**` |
213-
| 13 | multiplication | `*` |
214-
| 13 | division | `/` |
215-
| 12 | addition | `+` |
216-
| 12 | subtraction | `-` |
217-
| ... | ... | ... |
218-
| 2 | assignment | `=` |
219-
| ... | ... | ... |
220-
221-
As we can see, the "unary plus" has a priority of `15` which is higher than the `13` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
222-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
207+
Jak vidíme, „unární plus“ má prioritu `15`, která je vyšší než priorita `13` „sčítání“ (binární plus). To je důvod, proč se ve výrazu `"+jablka + +pomeranče"` unární plusy vyhodnotí před sčítáním.
223208

224209
## Přiřazení
225210

226-
<<<<<<< HEAD
227-
Všimněte si, že přiřazení `=` je také operátor. V tabulce priorit je uveden s velmi nízkou prioritou `3`.
228-
=======
229-
Let's note that an assignment `=` is also an operator. It is listed in the precedence table with the very low priority of `2`.
230-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
211+
Všimněte si, že přiřazení `=` je také operátor. V tabulce priorit je uveden s velmi nízkou prioritou `2`.
231212

232213
To je důvod, proč při přiřazení proměnné, např. `x = 2 * 2 + 1`, se nejprve provedou výpočty a až potom se vyhodnotí `=`, které uloží výsledek do `x`.
233214

1-js/02-first-steps/12-nullish-coalescing-operator/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,7 @@ V praxi je nulová výška často platnou hodnotou, takže by neměla být nahra
106106
107107
## Priorita
108108
109-
<<<<<<< HEAD
110-
Priorita operátoru `??` je přibližně stejná jako `||`, jen o něco nižší. Je rovna `5` v [tabulce MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table), zatímco `||` má prioritu `6`.
111-
=======
112-
The precedence of the `??` operator is the same as `||`. They both equal `4` in the [MDN table](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table).
113-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
109+
Priorita operátoru `??` je stejná jako `||`. Oba operátory mají v [tabulce MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table) prioritu `4`.
114110
115111
To znamená, že operátor koalescence `??` se stejně jako `||` vyhodnocuje před `=` a `?`, ale až po většině ostatních operací, například `+`, `*`.
116112

1-js/02-first-steps/16-function-expressions/article.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@ function řekniAhoj() {
1212

1313
Existuje i jiná syntaxe pro vytváření funkce, která se nazývá *funkční výraz*.
1414

15-
<<<<<<< HEAD
1615
Ten nám umožňuje vytvořit novou funkci uprostřed libovolného výrazu.
17-
=======
18-
It allows us to create a new function in the middle of any expression.
19-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
2016

2117
Například:
2218

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,7 @@ let součet = function(a, b) {
3333
alert( součet(1, 2) ); // 3
3434
```
3535

36-
<<<<<<< HEAD
3736
Jak vidíte, `(a, b) => a + b` znamená funkci, která přijímá dva argumenty pojmenované `a` a `b`. Když je vykonána, vyhodnotí výraz `a + b` a vrátí jeho výsledek.
38-
=======
39-
As you can see, `(a, b) => a + b` means a function that accepts two arguments named `a` and `b`. Upon the execution, it evaluates the expression `a + b` and returns the result.
40-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
4137

4238
- Máme-li pouze jeden argument, můžeme závorky kolem něj vynechat, čímž se zápis ještě zkrátí.
4339

@@ -90,11 +86,7 @@ Například takto:
9086
let součet = (a, b) => { // složená závorka uvozuje víceřádkovou funkci
9187
let výsledek = a + b;
9288
*!*
93-
<<<<<<< HEAD
9489
return výsledek; // když používáme složené závorky, musíme výslovně uvést „return“
95-
=======
96-
return result; // if we use curly braces, then we need an explicit "return"
97-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
9890
*/!*
9991
};
10092

1-js/04-object-basics/06-constructor-new/article.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
# Konstruktor, operátor „new“
22

3-
<<<<<<< HEAD
43
Obvyklá syntaxe `{...}` nám umožňuje vytvořit jeden objekt. Často však potřebujeme vytvořit mnoho podobných objektů, např. více uživatelů, položek menu a podobně.
5-
=======
6-
The regular `{...}` syntax allows us to create one object. But often we need to create many similar objects, like multiple users or menu items and so on.
7-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
84

95
To můžeme učinit pomocí konstruktorů a operátoru `"new"`.
106

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,7 @@ To je očekávaný výsledek. JavaScript takto funguje. Když `uživatel.adresa`
2525

2626
V mnoha praktických případech bychom však zde raději získali `undefined` místo chyby (což znamená „žádná ulice“).
2727

28-
<<<<<<< HEAD
2928
...A jiný příklad. Při vývoji webů můžeme pomocí speciálního volání metody, např. `document.querySelector('.elem')`, získat objekt, který odpovídá určitému prvku webové stránky. Když na stránce takový prvek není, metoda vrací `null`.
30-
=======
31-
...and another example. In Web development, we can get an object that corresponds to a web page element using a special method call, such as `document.querySelector('.elem')`, and it returns `null` when there's no such element.
32-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
3329

3430
```js run
3531
// document.querySelector('.elem') je null, pokud tam žádný prvek není

1-js/05-data-types/02-number/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Jinými slovy, `e` toto číslo násobí číslem `1` se zadaným počtem nul.
4444
Nyní zapišme něco velmi malého. Třeba 1 mikrosekundu (jednu milióntinu sekundy):
4545

4646
```js
47-
let mсs = 0.000001;
47+
let mcs = 0.000001;
4848
```
4949

5050
Stejně jako předtím nám může pomoci použití `"e"`. Jestliže se chceme vyhnout explicitnímu zápisu nul, můžeme zapsat totéž jako:

1-js/05-data-types/06-iterable/article.md

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,10 @@ let interval = {
2727

2828
Abychom učinili objekt `interval` iterovatelným (a tím zprovoznili `for..of`), musíme do tohoto objektu přidat metodu nazvanou `Symbol.iterator` (speciální vestavěný symbol právě pro tento účel).
2929

30-
<<<<<<< HEAD
3130
1. Když `for..of` začne, jedenkrát tuto metodu zavolá (nebo ohlásí chybu, není-li nalezena). Metoda musí vracet *iterátor* -- objekt obsahující metodu `next`.
3231
2. Nadále `for..of` pracuje *pouze s tímto vráceným objektem*.
3332
3. Když `for..of` chce další hodnotu, volá na tomto objektu `next()`.
34-
4. Výsledek `next()` musí mít tvar `{done: Boolean, value: cokoli}`, kde `done=true` znamená, že iterace skončila, v opačném případě je další hodnotou `value`.
35-
=======
36-
1. When `for..of` starts, it calls that method once (or errors if not found). The method must return an *iterator* -- an object with the method `next`.
37-
2. Onward, `for..of` works *only with that returned object*.
38-
3. When `for..of` wants the next value, it calls `next()` on that object.
39-
4. The result of `next()` must have the form `{done: Boolean, value: any}`, where `done=true` means that the loop is finished, otherwise `value` is the next value.
40-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
33+
4. Výsledek `next()` musí mít tvar `{done: Boolean, value: cokoli}`, kde `done=true` znamená, že cyklus má skončit, v opačném případě je `value` jeho další hodnotou.
4134

4235
Zde je úplná implementace objektu `interval` s komentáři:
4336

@@ -50,19 +43,11 @@ let interval = {
5043
// 1. volání for..of nejprve zavolá tuto funkci
5144
interval[Symbol.iterator] = function() {
5245

53-
<<<<<<< HEAD
5446
// ...tato funkce vrátí objekt iterátoru:
55-
// 2. Od této chvíle for..of pracuje jen s tímto iterátorem a ptá se ho na další hodnoty
47+
// 2. Od této chvíle for..of pracuje jen s níže uvedeným objektem iterátoru a ptá se ho na další hodnoty
5648
return {
5749
aktuální: this.začátek,
5850
poslední: this.konec,
59-
=======
60-
// ...it returns the iterator object:
61-
// 2. Onward, for..of works only with the iterator object below, asking it for next values
62-
return {
63-
current: this.from,
64-
last: this.to,
65-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
6651

6752
// 3. next() je volána cyklem for..of při každé iteraci
6853
next() {
@@ -284,11 +269,7 @@ for (let znak of str) {
284269
alert(znaky);
285270
```
286271

287-
<<<<<<< HEAD
288272
...Ale je to kratší.
289-
=======
290-
...But it is shorter.
291-
>>>>>>> 71da17e5960f1c76aad0d04d21f10bc65318d3f6
292273

293274
Můžeme na ní dokonce postavit metodu `slice`, která bude rozpoznávat surrogate pairy:
294275

0 commit comments

Comments
 (0)