Перетворення типів JavaScript (з прикладами)

У цьому посібнику ви дізнаєтесь про перетворення типів у JavaScript за допомогою прикладів.

Процес перетворення одного типу даних в інший тип даних називається перетворенням типу. У JavaScript існує два типи перетворення типів.

  • Неявна конверсія
  • Явне перетворення

Неявне перетворення JavaScript

У певних ситуаціях JavaScript автоматично перетворює один тип даних на інший (у потрібний тип). Це відоме як неявне перетворення.

Приклад 1: Неявне перетворення в рядок

 // numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"

Примітка : Коли до рядка додається число, JavaScript перетворює число у рядок перед конкатенацією.

Приклад 2: Неявне перетворення в число

 // numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2

Приклад 3: Нечислові результати рядка для NaN

 // non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN

Приклад 4: Неявне булеве перетворення в число

 // if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4

Примітка: JavaScript розглядає 0 як falseі всі ненульові числа як true. І якщо trueперетворити на число, результат завжди дорівнює 1.

Приклад 5: нульове перетворення в число

 // null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4

Приклад 6: невизначено, що використовується з числом, логічним чи нульовим значенням

 // Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN

Явне перетворення JavaScript

Ви також можете перетворити один тип даних на інший відповідно до ваших потреб. Перетворення типу, яке ви виконуєте вручну, називається явним перетворенням типу.

У JavaScript явні перетворення типів виконуються за допомогою вбудованих методів.

Ось декілька поширених методів явного перетворення.

1. Перетворити в число явно

Для перетворення числових рядків і булевих значень у числа можна скористатися Number(). Наприклад,

 let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0

У JavaScript порожні рядки та nullзначення повертають 0 . Наприклад,

 let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0

Якщо рядок є недійсним числом, результат буде NaN. Наприклад,

 let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN

Примітка : Ви можете також генерувати числа з рядків , використовуючи parseInt(), parseFloat(), унарний оператор +і Math.floor(). Наприклад,

 let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20

2. Конвертувати в рядок явно

Щоб перетворити інші типи даних у рядки, ви можете використовувати String()або toString(). Наприклад,

 //number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"

Примітка : String()бере nullта undefinedі перетворює їх у рядок. Однак toString()видає помилку приnull are passed.

3. Перетворити на логічну форму Явно

Щоб перетворити інші типи даних на логічні, ви можете використовувати Boolean().

В JavaScript undefined, null, 0, NaN, ''звернені до false. Наприклад,

  let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false

Всі інші значення дають true. Наприклад,

  result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true

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

У таблиці показано перетворення різних значень у рядок, число та булеве значення в JavaScript.

Value String Conversion Number Conversion Boolean Conversion
1 "1" 1 true
0 "0" 0 false
"1" "1" 1 true
"0" "0" 0 true
"ten" "ten" NaN true
true "true" 1 true
false "false" 0 false
null "null" 0 false
undefined "undefined" NaN false
'' "" 0 false
' ' " " 0 true

Про перетворення об’єктів та масивів на інші типи даних ви дізнаєтесь у наступних підручниках.

Відвідайте ці приклади, щоб дізнатись більше:

  • Дати JavaScript у числах
  • Дати JavaScript до рядків

Цікаві статті...