У овом упутству ћете научити о конверзијама типова у ЈаваСцрипт-у помоћу примера.
Процес претварања једног типа података у други тип података назива се претварање типа. Постоје две врсте претварања типова у ЈаваСцрипт-у.
- Имплицитна конверзија
- Експлицитна конверзија
Имплицитна конверзија ЈаваСцрипт-а
У одређеним ситуацијама ЈаваСцрипт аутоматски претвара један тип података у други (у прави тип). Ово је познато као имплицитна конверзија.
Пример 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"
Напомена : Када се у низ дода број, ЈаваСцрипт претвара број у низ пре спајања.
Пример 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: Ненумерички резултати низа у НаН
// 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
Напомена: ЈаваСцрипт сматра 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
ЈаваСцрипт експлицитна конверзија
Такође можете претворити један тип података у други према вашим потребама. Конверзија типа коју радите ручно позната је као експлицитна конверзија типа.
У ЈаваСцрипт-у се експлицитне конверзије типова врше помоћу уграђених метода.
Ево неколико уобичајених метода експлицитних конверзија.
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
У ЈаваСцрипт-у празни низови и 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().
У ЈаваСцрипт, 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
Табела конверзије типа ЈаваСцрипт
Табела приказује претварање различитих вредности у низ, број и логичку вредност у ЈаваСцрипт-у.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 |
|
0 | "0" | 0 |
|
"1" | "1" | 1 |
|
"0" | "0" | 0 |
|
"ten" | "ten" |
|
|
| "true" | 1 |
|
| "false" | 0 |
|
| "null" | 0 |
|
| "undefined" |
|
|
'' | "" | 0 |
|
' ' | " " | 0 |
|
О конверзији објеката и низова у друге типове података научићете у каснијим водичима.
Посетите ове примере да бисте сазнали више:
- ЈаваСцрипт датуми бројевима
- ЈаваСцрипт датира у низове