Skip to content

Commit 62b4e8a

Browse files
authored
Merge pull request #87 from javascript-tutorial/revert-73-1.2.7
Revert "1.2.7"
2 parents 44ff82a + 2569993 commit 62b4e8a

File tree

1 file changed

+67
-66
lines changed

1 file changed

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

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

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

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

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.
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.
1111
12-
Až se později dozvíme něco o objektech, v kapitole <info:object-toprimitive> uvidíme, jak do toho zapadají.
12+
Later, after we learn about objects, in the chapter <info:object-toprimitive> we'll see how objects fit in.
1313
```
1414

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.
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.
5757

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

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

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

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

68-
| Hodnota | Převede se na... |
69-
|---------|-------------------|
68+
| Value | Becomes... |
69+
|-------|-------------|
7070
|`undefined`|`NaN`|
7171
|`null`|`0`|
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`. |
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`. |
7474

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

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

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`.
84+
Please note that `null` and `undefined` behave differently here: `null` becomes zero while `undefined` becomes `NaN`.
8585

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

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

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

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)`.
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)`.
9393

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

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`.
96+
- Values that are intuitively "empty", like `0`, an empty string, `null`, `undefined`, and `NaN`, become `false`.
97+
- Other values become `true`.
9898

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

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

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

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`.
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`.
111111

112112
```js run
113113
alert( Boolean("0") ); // true
114-
alert( Boolean(" ") ); // mezery, také true (každý neprázdný řetězec je true)
114+
alert( Boolean(" ") ); // spaces, also true (any non-empty string is true)
115115
```
116116
````
117117
118-
## Shrnutí
118+
## Summary
119119
120-
Tři nejčastěji používané typové konverze jsou na řetězec, na číslo a na boolean.
120+
The three most widely used type conversions are to string, to number, and to boolean.
121121
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á.
122+
**`String Conversion`** -- Occurs when we output something. Can be performed with `String(value)`. The conversion to string is usually obvious for primitive values.
123123
124-
**`Konverze na číslo`** -- Nastává při matematických operacích. Můžeme ji provést pomocí `Number(hodnota)`.
124+
**`Numeric Conversion`** -- Occurs in math operations. Can be performed with `Number(value)`.
125125
126-
Konverze se řídí těmito pravidly:
126+
The conversion follows the rules:
127127
128-
| Hodnota | Převede se na... |
129-
|---------|-------------------|
128+
| Value | Becomes... |
129+
|-------|-------------|
130130
|`undefined`|`NaN`|
131131
|`null`|`0`|
132132
|<code>true&nbsp;/&nbsp;false</code> | `1 / 0` |
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`. |
133+
| `string` | The string is read "as is", whitespaces from both sides are ignored. An empty string becomes `0`. An error gives `NaN`. |
134134
135-
**`Konverze na boolean`** -- Nastává při logických operacích. Můžeme ji provést pomocí `Boolean(hodnota)`.
135+
**`Boolean Conversion`** -- Occurs in logical operations. Can be performed with `Boolean(value)`.
136136
137-
Řídí se těmito pravidly:
137+
Follows the rules:
138138
139-
| Hodnota | Převede se na... |
140-
|---------|-------------------|
139+
| Value | Becomes... |
140+
|-------|-------------|
141141
|`0`, `null`, `undefined`, `NaN`, `""` |`false`|
142-
|jakákoli jiná hodnota| `true` |
142+
|any other value| `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:
145144
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.
145+
Most of these rules are easy to understand and memorize. The notable exceptions where people usually make mistakes are:
148146
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.
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.

0 commit comments

Comments
 (0)