Skip to content

Commit 8616ef2

Browse files
authored
Merge pull request #73 from otmon76/1.2.7
1.2.7
2 parents 3188176 + 97b9d09 commit 8616ef2

File tree

1 file changed

+66
-67
lines changed

1 file changed

+66
-67
lines changed
Lines changed: 66 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,150 +1,149 @@
1-
# Type Conversions
1+
# Typová konverze
22

3-
Most of the time, operators and functions automatically convert the values given to them to the right type.
3+
Operátory a funkce většinou automaticky převedou hodnoty, které jim byly zadány, na správný typ.
44

5-
For example, `alert` automatically converts any value to a string to show it. Mathematical operations convert values to numbers.
5+
Například `alert` automaticky převede libovolnou hodnotu na řetězec a ten zobrazí. Matematické operace převádějí hodnoty na čísla.
66

7-
There are also cases when we need to explicitly convert a value to the expected type.
7+
Existují však případy, v nichž musíme konverzi hodnoty na potřebný typ explicitně uvést.
88

9-
```smart header="Not talking about objects yet"
10-
In this chapter, we won't cover objects. For now, we'll just be talking about primitives.
9+
```smart header="Zatím nehovoříme o objektech"
10+
V této kapitole se ještě nebudeme zabývat objekty. Prozatím budeme hovořit jen o primitivních typech.
1111
12-
Later, after we learn about objects, in the chapter <info:object-toprimitive> we'll see how objects fit in.
12+
Až se později dozvíme něco o objektech, v kapitole <info:object-toprimitive> uvidíme, jak do toho zapadají.
1313
```
1414

15-
## String Conversion
15+
## Konverze na řetězec
1616

17-
String conversion happens when we need the string form of a value.
17+
Konverze na řetězec se odehraje tehdy, když potřebujeme hodnotu ve formě řetězce.
1818

19-
For example, `alert(value)` does it to show the value.
19+
Provádí ji například `alert(hodnota)`, aby mohla zobrazit hodnotu.
2020

21-
We can also call the `String(value)` function to convert a value to a string:
21+
Můžeme také volat funkci `String(hodnota)`, která převede zadanou hodnotu na řetězec:
2222

2323
```js run
24-
let value = true;
25-
alert(typeof value); // boolean
24+
let hodnota = true;
25+
alert(typeof hodnota); // boolean
2626

2727
*!*
28-
value = String(value); // now value is a string "true"
29-
alert(typeof value); // string
28+
hodnota = String(hodnota); // hodnota je nyní řetězec "true"
29+
alert(typeof hodnota); // string (řetězec)
3030
*/!*
3131
```
3232

33-
String conversion is mostly obvious. A `false` becomes `"false"`, `null` becomes `"null"`, etc.
33+
Konverze na řetězec je většinou zřejmá: `false` se převede na `"false"`, `null` se převede na `"null"`, atd.
3434

35-
## Numeric Conversion
35+
## Konverze na číslo
3636

37-
Numeric conversion happens in mathematical functions and expressions automatically.
37+
Konverze na číslo se automaticky odehrává v matematických funkcích a výrazech.
3838

39-
For example, when division `/` is applied to non-numbers:
39+
Například když použijeme dělení `/` na něco jiného než čísla:
4040

4141
```js run
42-
alert( "6" / "2" ); // 3, strings are converted to numbers
42+
alert( "6" / "2" ); // 3, řetězce se konvertují na čísla
4343
```
4444

45-
We can use the `Number(value)` function to explicitly convert a `value` to a number:
45+
Pro explicitní konverzi hodnoty `hodnota` na číslo můžeme použít funkci `Number(hodnota)`:
4646

4747
```js run
48-
let str = "123";
49-
alert(typeof str); // string
48+
let řtzc = "123";
49+
alert(typeof řtzc); // string (řetězec)
5050

51-
let num = Number(str); // becomes a number 123
51+
let čslo = Number(řtzc); // stane se z něj číslo 123
5252

53-
alert(typeof num); // number
53+
alert(typeof čslo); // number (číslo)
5454
```
5555

56-
Explicit conversion is usually required when we read a value from a string-based source like a text form but expect a number to be entered.
56+
Explicitní konverze je obvykle potřebná, když načítáme hodnotu z řetězcového zdroje, například z textového formuláře, ale očekáváme zadání čísla.
5757

58-
If the string is not a valid number, the result of such a conversion is `NaN`. For instance:
58+
Není-li v řetězci platné číslo, výsledkem konverze bude `NaN`. Například:
5959

6060
```js run
61-
let age = Number("an arbitrary string instead of a number");
61+
let věk = Number("nějaký řetězec místo čísla");
6262

63-
alert(age); // NaN, conversion failed
63+
alert(věk); // NaN, konverze neuspěla
6464
```
6565

66-
Numeric conversion rules:
66+
Pravidla pro konverzi na číslo:
6767

68-
| Value | Becomes... |
69-
|-------|-------------|
68+
| Hodnota | Převede se na... |
69+
|---------|-------------------|
7070
|`undefined`|`NaN`|
7171
|`null`|`0`|
72-
|<code>true&nbsp;and&nbsp;false</code> | `1` and `0` |
73-
| `string` | Whitespaces from the start and end are removed. If the remaining string is empty, the result is `0`. Otherwise, the number is "read" from the string. An error gives `NaN`. |
72+
|<code>true</code>&nbsp;a&nbsp;<code>false</code> | `1` a `0` |
73+
| `řetězec` | Odstraní se bílé znaky (mezery, tabulátory, konce řádku) ze začátku a konce. Je-li výsledný řetězec prázdný, výsledkem je `0`. Jinak se číslo „přečte“ z řetězce. Při chybě je vydáno `NaN`. |
7474

75-
Examples:
75+
Příklady:
7676

7777
```js run
7878
alert( Number(" 123 ") ); // 123
79-
alert( Number("123z") ); // NaN (error reading a number at "z")
79+
alert( Number("123z") ); // NaN (chyba při čtení čísla u znaku "z")
8080
alert( Number(true) ); // 1
8181
alert( Number(false) ); // 0
8282
```
8383

84-
Please note that `null` and `undefined` behave differently here: `null` becomes zero while `undefined` becomes `NaN`.
84+
Všimněte si, že `null` a `undefined` se tady chovají rozdílně: `null` se převede na nulu, zatímco `undefined` se převede na `NaN`.
8585

86-
Most mathematical operators also perform such conversion, we'll see that in the next chapter.
86+
Tuto konverzi provádí i většina matematických operátorů. Uvidíme to v následující kapitole.
8787

88-
## Boolean Conversion
88+
## Konverze na boolean
8989

90-
Boolean conversion is the simplest one.
90+
Konverze na boolean je nejjednodušší.
9191

92-
It happens in logical operations (later we'll meet condition tests and other similar things) but can also be performed explicitly with a call to `Boolean(value)`.
92+
Odehrává se v logických operátorech (později se setkáme s testy platnosti podmínky a podobnými věcmi), ale můžeme ji provést i explicitně voláním `Boolean(value)`.
9393

94-
The conversion rule:
94+
Pravidla konverze:
9595

96-
- Values that are intuitively "empty", like `0`, an empty string, `null`, `undefined`, and `NaN`, become `false`.
97-
- Other values become `true`.
96+
- Hodnoty, které jsou intuitivně „prázdné“, tj. `0`, prázdný řetězec, `null`, `undefined` a `NaN`, se převedou na `false`.
97+
- Ostatní hodnoty se převedou na `true`.
9898

99-
For instance:
99+
Příklad:
100100

101101
```js run
102102
alert( Boolean(1) ); // true
103103
alert( Boolean(0) ); // false
104104

105-
alert( Boolean("hello") ); // true
105+
alert( Boolean("ahoj") ); // true
106106
alert( Boolean("") ); // false
107107
```
108108

109-
````warn header="Please note: the string with zero `\"0\"` is `true`"
110-
Some languages (namely PHP) treat `"0"` as `false`. But in JavaScript, a non-empty string is always `true`.
109+
````warn header="Všimněte si: řetězec s nulou `\"0\"` se převede na `true`"
110+
Některé jazyky (konkrétně PHP) zacházejí s řetězcem `"0"` jako s `false`, avšak v JavaScriptu je neprázdný řetězec vždy `true`.
111111

112112
```js run
113113
alert( Boolean("0") ); // true
114-
alert( Boolean(" ") ); // spaces, also true (any non-empty string is true)
114+
alert( Boolean(" ") ); // mezery, také true (každý neprázdný řetězec je true)
115115
```
116116
````
117117
118-
## Summary
118+
## Shrnutí
119119
120-
The three most widely used type conversions are to string, to number, and to boolean.
120+
Tři nejčastěji používané typové konverze jsou na řetězec, na číslo a na boolean.
121121
122-
**`String Conversion`** -- Occurs when we output something. Can be performed with `String(value)`. The conversion to string is usually obvious for primitive values.
122+
**`Konverze na řetězec`** -- Nastává, když něco vypisujeme. Můžeme ji provést pomocí `String(hodnota)`. Konverze na řetězec je u primitivních typů obvykle zřejmá.
123123
124-
**`Numeric Conversion`** -- Occurs in math operations. Can be performed with `Number(value)`.
124+
**`Konverze na číslo`** -- Nastává při matematických operacích. Můžeme ji provést pomocí `Number(hodnota)`.
125125
126-
The conversion follows the rules:
126+
Konverze se řídí těmito pravidly:
127127
128-
| Value | Becomes... |
129-
|-------|-------------|
128+
| Hodnota | Převede se na... |
129+
|---------|-------------------|
130130
|`undefined`|`NaN`|
131131
|`null`|`0`|
132132
|<code>true&nbsp;/&nbsp;false</code> | `1 / 0` |
133-
| `string` | The string is read "as is", whitespaces from both sides are ignored. An empty string becomes `0`. An error gives `NaN`. |
133+
| `řetězec` | Načte se „doslovně“, bílé znaky na obou stranách se ignorují. Z prázdného řetězce se stane `0`. Při chybě je vydáno `NaN`. |
134134
135-
**`Boolean Conversion`** -- Occurs in logical operations. Can be performed with `Boolean(value)`.
135+
**`Konverze na boolean`** -- Nastává při logických operacích. Můžeme ji provést pomocí `Boolean(hodnota)`.
136136
137-
Follows the rules:
137+
Řídí se těmito pravidly:
138138
139-
| Value | Becomes... |
140-
|-------|-------------|
139+
| Hodnota | Převede se na... |
140+
|---------|-------------------|
141141
|`0`, `null`, `undefined`, `NaN`, `""` |`false`|
142-
|any other value| `true` |
142+
|jakákoli jiná hodnota| `true` |
143143
144+
Většinu těchto pravidel je snadné pochopit a zapamatovat si. Významné výjimky, v nichž lidé obvykle chybují, jsou:
144145
145-
Most of these rules are easy to understand and memorize. The notable exceptions where people usually make mistakes are:
146+
- `undefined` převedené na číslo je `NaN`, ne `0`.
147+
- `"0"` a řetězce obsahující jen mezery, např. `" "`, jsou po převodu na boolean vyhodnoceny jako true.
146148
147-
- `undefined` is `NaN` as a number, not `0`.
148-
- `"0"` and space-only strings like `" "` are true as a boolean.
149-
150-
Objects aren't covered here. We'll return to them later in the chapter <info:object-toprimitive> that is devoted exclusively to objects after we learn more basic things about JavaScript.
149+
O objektech se zde nezmiňujeme. Později, až se v JavaScriptu naučíme všechny potřebné základy, se k nim vrátíme v kapitole <info:object-toprimitive>, která je věnována výlučně objektům.

0 commit comments

Comments
 (0)