Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions 1-js/01-getting-started/1-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,13 @@ Příklady takových omezení:

Tento postup se nazývá „politika stejného původu“. Je možné ji obejít tak, že *obě stránky* musí souhlasit s výměnou dat a musí obsahovat speciální JavaScriptový kód, který to umožňuje. V tomto tutoriálu to budeme probírat.

<<<<<<< HEAD
Toto omezení je zde opět pro bezpečnost uživatele. Stránka z `http://anysite.com`, kterou uživatel otevřel, nesmí mít možnost přistupovat k jiné záložce prohlížeče s URL například `http://gmail.com` a krást odtamtud informace.
- JavaScript může jednoduše komunikovat po síti se serverem, z něhož přišla aktuální stránka, ale jeho schopnost získávat data z jiných sídel/domén je značně omezená. Přestože je to možné, vyžaduje to výslovný souhlas (uvedený v HTTP hlavičce) vzdálené strany. I to je bezpečnostní omezení.
=======
This limitation is, again, for the user's safety. A page from `http://anysite.com` which a user has opened must not be able to access another browser tab with the URL `http://gmail.com`, for example, and steal information from there.
- JavaScript can easily communicate over the net to the server where the current page came from. But its ability to receive data from other sites/domains is severely limited. Though possible, it requires explicit agreement (expressed in HTTP headers) from the remote side. Once again, that's a safety limitation.
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf

![](limitations.svg)

Expand Down
4 changes: 4 additions & 0 deletions 1-js/02-first-steps/04-variables/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,11 @@ let uživatelskéJméno;
let test123;
```

<<<<<<< HEAD
Když název obsahuje více slov, obvykle se používá tzv. [velbloudí notace](https://cs.wikipedia.org/wiki/CamelCase). To znamená, že slova následují hned za sebou a každé kromě prvního začíná velkým písmenem: `můjVelmiDlouhýNázev`.
=======
When the name contains multiple words, [camelCase](https://en.wikipedia.org/wiki/CamelCase) is commonly used. That is: words go one after another, with each word except the first starting with a capital letter: `myVeryLongName`.
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf

Zajímavé je, že v názvech je možné používat i znak dolaru `'$'` a podtržítko `'_'`. Jsou to obyčejné symboly bez zvláštního významu, podobně jako písmena.

Expand Down
4 changes: 4 additions & 0 deletions 1-js/02-first-steps/08-operators/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,11 @@ alert( c ); // 4

Zřetězená přiřazení se vyhodnocují zprava doleva. Nejprve se vyhodnotí výraz `2 + 2` nejvíce vpravo a jeho hodnota se pak přiřadí do proměnných vlevo: `c`, `b` a `a`. Nakonec tedy budou mít všechny proměnné stejnou hodnotu.

<<<<<<< HEAD
Opět je pro účely čitelnosti lepší rozdělit takový kód do více řádků:
=======
Once again, for the purposes of readability it's better to split such code into a few lines:
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf

```js
c = 2 + 2;
Expand Down
17 changes: 17 additions & 0 deletions 1-js/03-code-quality/02-coding-style/1-style-errors/solution.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Měli byste si všimnout následujícího:

```js no-beautify
<<<<<<< HEAD
function mocnina(x,n) // <- chybí mezera mezi argumenty
{ // <- levá složená závorka na zvláštním řádku
let výsledek=1; // <- chybějí mezery před a za =
Expand All @@ -16,6 +17,22 @@ if (n<=0) // <- chybějí mezery uvnitř (n <= 0) a nad ním by měl být práz
{ // <- levá složená závorka na zvláštním řádku
// níže - dlouhé řádky by měly být rozděleny na více řádků pro lepší čitelnost
alert(`${n}-tá mocnina není podporována, zadejte prosím celé číslo větší než nula`);
=======
function pow(x,n) // <- no space between arguments
{ // <- curly brace on a separate line
let result=1; // <- no spaces before or after =
for(let i=0;i<n;i++) {result*=x;} // <- no spaces
// the contents of { ... } should be on a new line
return result;
}

let x=prompt("x?",''), n=prompt("n?",'') // <-- technically possible,
// but better make it 2 lines, also there's no spaces and missing ;
if (n<=0) // <- no spaces inside (n <= 0), and should be extra line above it
{ // <- curly brace on a separate line
// below - long lines can be split into multiple lines for improved readability
alert(`Power ${n} is not supported, please enter an integer number greater than zero`);
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf
}
else // <- toto může být na jediném řádku: "} else {"
{
Expand Down
8 changes: 8 additions & 0 deletions 1-js/04-object-basics/01-object/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ Jak víme z kapitoly <info:types>, JavaScript obsahuje osm datových typů. Sedm

Naproti tomu objekty se používají k uložení kolekcí různých dat pod klíči a složitějších entit. V JavaScriptu objekty pronikají do téměř všech aspektů jazyka. Musíme jim tedy porozumět předtím, než půjdeme do hloubky v něčem jiném.

<<<<<<< HEAD
Objekt můžeme vytvořit pomocí složených závorek `{…}` obsahujících nepovinný seznam *vlastností*. Vlastnost je dvojice „klíč: hodnota“, v níž `klíč` je řetězec (nazývá se také „název vlastnosti“) a `hodnota` může být cokoli.
=======
An object can be created with curly braces `{…}` with an optional list of *properties*. A property is a "key: value" pair, where `key` is a string (also called a "property name"), and `value` can be anything.
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf

Objekt si můžeme představit jako skříň s označenými spisy. Každý kousek dat je uložen podle klíče ve svém spisu. Je pak lehké najít spis podle jeho názvu nebo spis přidat či odstranit.

Expand All @@ -20,7 +24,11 @@ let uživatel = {}; // syntaxe „objektový literál“

![](object-user-empty.svg)

<<<<<<< HEAD
Obvykle se používají složené závorky `{...}`. Tato deklarace se nazývá *objektový literál*.
=======
Usually, the curly braces `{...}` are used. That declaration is called an *object literal*.
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf

## Literály a vlastnosti

Expand Down
5 changes: 5 additions & 0 deletions 1-js/05-data-types/10-destructuring-assignment/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,13 @@ To funguje, protože vnitřně se destrukturační přiřazení vykonává itera
````


<<<<<<< HEAD
````smart header="Na levé straně můžeme přiřazovat do čehokoli"
Na levé straně můžeme používat cokoli, do čeho lze přiřazovat.
=======
````smart header="Assign to anything on the left-side"
We can use any "assignables" on the left side.
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf

Například vlastnost objektu:
```js run
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,11 @@ A zde je obrázek pro vnořený `setTimeout`:

![](settimeout-interval.svg)

<<<<<<< HEAD
**Vnořený `setTimeout` zaručuje pevnou prodlevu (zde 100 ms).**
=======
**The nested `setTimeout` ensures a minimum delay (100ms here) between the end of one call and the beginning of the subsequent one.**
>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf
Je to proto, že nové volání je naplánováno na konci předchozího.

Expand Down