Преобразувания на тип 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: неопределено, използвано с число, булево или null

 // 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 Explicitly

За да конвертирате други типове данни в низове, можете да използвате 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 Explicitly

За да конвертирате други типове данни в булеви, можете да използвате 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

Таблицата показва преобразуването на различни стойности в String, Number и Boolean в 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 дати за низове

Интересни статии...