---
sidebar_position: 3
---

# Преобразование типов

## Строковое преобразование
```js
String(value)
```
```js
alert(typeof value); // string
```

## Численное преобразование
```js
Number(str)
```
```js
let num = Number(str); // становится числом 123
```
| Значение                | Преобразуется в…                                                                                                                                                                                                                |
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| undefined               | NaN                                                                                                                                                                                                                             |
| null                    | 0                                                                                                                                                                                                                               |
| true / false            | 1 / 0                                                                                                                                                                                                                           |
| string                  | Пробельные символы (пробелы, знаки табуляции \t, знаки новой строки \n и т. п.) по краям обрезаются. Далее, если остаётся пустая строка, то получаем 0, иначе из непустой строки «считывается» число. При ошибке результат NaN. |

```js
alert( Number("   123   ") ); // 123 
alert( Number("123z") );      // NaN (ошибка чтения числа на месте символа "z")
alert( Number(true) );        // 1
alert( Number(false) );       // 0
```
## Логическое преобразование
```js
Boolean(value)
```
Происходит в логических операциях, но также может быть выполнено явно с помощью функции Boolean(value).

Правило преобразования:
- Значения, которые интуитивно «пустые», вроде 0, пустой строки, null, undefined и NaN, становятся false.
- Все остальные значения становятся true.

| Значение                    | Становится… |
|-----------------------------|-------------|
| 0, null, undefined, NaN, "" | false       |
| любое другое значение       | true        |

```js
alert( Boolean(1) ); // true 
alert( Boolean(0) ); // false 
alert( Boolean("Привет!") ); // true 
alert( Boolean("") ); // false
```

🚀 **Источник: [https://learn.javascript.ru/types](https://learn.javascript.ru/types)**