НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

JS Підручник

JS Старт JS Інтро JS Установка JS Виведення JS Інструкції JS Синтаксис JS Коментарі JS Змінні JS Ключове слово Let JS Ключове слово Const JS Оператори JS Арифметичні JS Присвоєння JS Типи даних JS Функції JS Об’єкти JS Події JS Рядки JS Рядкові методи JS Рядковий пошук JS Рядкові шаблони JS Числа JS Числові методи JS Масиви JS Методи масиву JS Сортування масиву JS Ітерація масиву JS Масив Const JS Дати JS Формати дат JS Методи отримання дат JS Методи встановлення дат JS Математичні JS Рандомні JS Булеві JS Порівняння JS Умови JS Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Break & Continue JS Ітерації JS Сети (Набори) JS Мапи JS Typeof JS Перетворення типів JS Побітові JS Регулярні вирази JS Помилки JS Область дії JS Хостинг JS Use Strict JS Ключове слово this JS Функція стрілки JS Класи JS Модулі JS JSON JS Відладка JS Гід по стилю JS Кращі практики JS Поширені помилки JS Продуктивність JS Зарезервовані слова

JS Версії

JS Версії JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/Edge JS Історія

JS Об’єкти

Визначення об’єктів Властивості об’єкта Методи об’єкта Відображення об’єкта Доступ до об’єктів Конструктори об’єктів Прототипи об’єктів Ітеровані об’єкти Набори об’єктів Карти об’єктів Довідник об’єктів

JS Функції

Визначення функцій Параметри функції Звернення до функції Виклик функції Застосування функції Функція Bind Закриття функції

JS Класси

Вступ Наслідування класу Статичні методи

JS Асинхронний

Зворотні виклики Асинхронний Проміси Async/Await

JS HTML DOM

DOM Вступ DOM Методи DOM Документ DOM Елементи DOM HTML DOM Форми DOM CSS DOM Анімація DOM Події DOM Слухач подій DOM Навігація DOM Вузли DOM Колекції DOM Вузлові списки

JS Браузер BOM

JS Вікно JS Скрін JS Локація JS Історія JS Навігатор JS Спливаюче оповіщення JS Таймінг JS Кукі

JS Веб API

Веб API Вступ Веб-форми API Веб-історія API Веб-сховище API Веб-воркер API Веб-виборка API Веб-геолокація API

JS AJAX

AJAX Вступ AJAX XMLHttp AJAX Запит AJAX Відгук AJAX XML Файл AJAX PHP AJAX ASP AJAX База даних AJAX Додатки AJAX Приклади

JS JSON

JSON Вступ JSON Синтаксис JSON та XML JSON Типи даних JSON Аналіз JSON Stringify JSON Об’єкти JSON Масиви JSON Сервер JSON PHP JSON HTML JSON JSONP

JS та jQuery

jQuery Селектори jQuery HTML jQuery CSS jQuery DOM

JS Приклади

JS Приклади JS HTML DOM JS HTML Input JS HTML Об’єкти JS HTML Події JS Браузер JS Редактор JS Вправи JS Вікторина JS Сертифікат

JS Довідники

JavaScript Об’єкти HTML DOM Об’єкти

JavaScript. Уроки W3Schools для початківців українською мовою

En

JavaScript Перетворення (конвертація) типів

  • Конвертація рядків в числа
  • Конвертація чисел в рядки
  • Конвертація дат в числа
  • Конвертація чисел в дати
  • Конвертація булевих значень в числа
  • Конвертація чисел в булеві значення

JavaScript Конвертація типів

JavaScript змінні можуть бути конвертовані в нову змінну або інший тип даних:

  • Використовуючи JavaScript функцію
  • Автоматично самим JavaScript

Конвертація рядків в числа

Глобальний метод Number() може конвертувати рядки в числа.

Рядки, що містять числа (наприклад "3.14") конвертуються в числа (наприклад 3.14).

Пусті рядки конвертуються в 0.

Будь що інше конвертується в NaN (Not a Number - Не Число).

Number("3.14")    // поверне 3.14
Number(" ")       // поверне 0
Number("")        // поверне 0
Number("99 88")   // поверне NaN

Числові методи

В розділі Числові методи ви знайдете більше методів, що можуть бути використані для конвертації рядків в числа:

Метод Опис
Number() Поверне число, конвертоване з його аргумента
parseFloat() Парсить (аналізує) рядок та повертає число з плаваючою точкою
parseInt() Парсить (аналізує) рядок та повертає ціле число

Унарний оператор +

Унарний оператор + можна використовувати для конвертації змінної в число:

Приклад

let y = "5";      // y є рядком
let x = + y;      // x є числом
Спробуйте самі »

Якщо змінну неможливо конвертувати, вона все одно стане числом, але зі значенням NaN (Not a Number / Не Число):

Приклад

let y = "John";   // y - це рядок
let x = + y;      // x - це число (NaN)
Спробуйте самі »

Конвертація чисел в рядки

Глобальний метод String() може конвертувати числа в рядки.

Це може бути використано на будь-якому типу чисел, літералів, змінних або виразів:

Приклад

String(x)         // поверне рядок із числової змінної x
String(123)       // поверне рядок із числового літерала 123
String(100 + 23)  // поверне рядок із числа виразу
Спробуйте самі »

Числовий метод toString() робить те саме.

Приклад

x.toString()
(123).toString()
(100 + 23).toString()
Спробуйте самі »

Більше методів

В розділі Числові методи ви знайдете більше методів, що можуть бути використані для конвертації чисел в рядки:

Метод Опис
toExponential() Поверне рядок з округленим числом, записаним з використанням експоненціального запису.
toFixed() Поверне рядок з округленим числом та записаним зі вказаною кількістю десяткових знаків.
toPrecision() Поверне рядок з числом, записаним із вказаною довжиною

Конвертація дат в числа

Глобальний метод Number() може бути використано для конвертації дат в числа.

d = new Date();
Number(d)          // поверне 1404568027739

Метод дати getTime() робить те саме.

d = new Date();
d.getTime()        // поверне 1404568027739

Конвертація дат в рядки

Глобальний метод String() може конвертувати дати в рядки.

String(Date())  // поверне "Thu Jul 17 2024 15:38:19 GMT+0200 (W. Europe Daylight Time)"

Метод дати toString() робить те саме.

Приклад

Date().toString()  // поверне "Thu Jul 17 2024 15:38:19 GMT+0200 (W. Europe Daylight Time)"

В розділі Методи отримання дат ви знайдете більше методів, що можуть бути використані для конвертації дат в рядки:

Метод Опис
getDate() Отримати день у вигляді числа (1-31)
getDay() Отримати день тижня у вигляді числа (0-6)
getFullYear() Отримати чотиризначний рік (yyyy)
getHours() Отримати годину (0-23)
getMilliseconds() Отримати мілісекунди (0-999)
getMinutes() Отримати хвилини (0-59)
getMonth() Отримати місяць (0-11)
getSeconds() Отримати секунди (0-59)
getTime() Отримати час (мілісекунди від 1 Січня 1970 року)

Конвертація булевих значень в числа

Глобальний метод Number() може також конвертувати булеві значення в числа.

Number(false)     // поверне 0
Number(true)      // поверне 1

Конвертація булевих значень в рядки

Глобальний метод String() може конвертувати булеві значення в рядки.

String(false)      // поверне "false"
String(true)       // поверне "true"

Булевий метод toString() робить те саме.

false.toString()   // поверне "false"
true.toString()    // поверне "true"

Автоматична конвертація типів

Коли JavaScript намагається оперувати "неправильним" типом даних, він намагається конвертувати значення в "правильний" тип.

Результат не завжди буде таким, яким ви очікували:

5 + null    // поверне 5         тому що null конвертується в 0
"5" + null  // поверне "5null"   тому що null конвертується в "null"
"5" + 2     // поверне "52"      тому що 2 конвертується в "2"
"5" - 2     // поверне 3         тому що "5" конвертується в 5
"5" * "2"   // поверне 10        тому що "5" та "2" конвертуються в 5 та 2
Спробуйте самі »

Автоматична конвертація рядка

JavaScript автоматично викликає функцію змінної toString(), коли ви намагаєтесь "вивести" об’єкт або змінну:

document.getElementById("demo").innerHTML = myVar;

// якщо myVar = {name:"Fjohn"}  // toString конвертується в "[object Object]"
// якщо myVar = [1,2,3,4]       // toString конвертується в "1,2,3,4"
// якщо myVar = new Date()      // toString конвертується в "Fri Jul 18 2014 09:08:55 GMT+0200"

Числа та булеві значення також конвертуються, але це не дуже помітно:

// якщо myVar = 123             // toString конвертується в "123"
// якщо myVar = true            // toString конвертується в "true"
// якщо myVar = false           // toString конвертується в "false"

JavaScript Таблиця конвертації типів

В цій таблиці показано результат конвертації різних значень JavaScript в Число, Рядок та Булеве значення:

Оригінал
Значення
Конвертує
в число
Конвертує
в рядок
Конвертує
в булеве значення
Спробуй це
false 0 "false" false Спробуй це »
true 1 "true" true Спробуй це »
0 0 "0" false Спробуй це »
1 1 "1" true Спробуй це »
"0" 0 "0" true Спробуй це »
"000" 0 "000" true Спробуй це »
"1" 1 "1" true Спробуй це »
NaN NaN "NaN" false Спробуй це »
Infinity Infinity "Infinity" true Спробуй це »
-Infinity -Infinity "-Infinity" true Спробуй це »
"" 0 "" false Спробуй це »
"20" 20 "20" true Спробуй це »
"twenty" NaN "twenty" true Спробуй це »
[ ] 0 "" true Спробуй це »
[20] 20 "20" true Спробуй це »
[10,20] NaN "10,20" true Спробуй це »
["twenty"] NaN "twenty" true Спробуй це »
["ten","twenty"] NaN "ten,twenty" true Спробуй це »
function(){} NaN "function(){}" true Спробуй це »
{ } NaN "[object Object]" true Спробуй це »
null 0 "null" false Спробуй це »
undefined NaN "undefined" false Спробуй це »

Значення в лапках означають рядкові значення.

Виділені  червоним  значення вказують на значення, які (деякі) програмісти можуть не очікувати.