Skip to content

JavaScript Tur O'zgartirish (Type Conversion)

  • Satrlarni raqamlarga aylantirish
  • Raqamlarni satrlarga aylantirish
  • Sanalarni raqamlarga aylantirish
  • Raqamlarni sanalarga aylantirish
  • Booleanlarni raqamlarga aylantirish
  • Raqamlarni booleanlarga aylantirish

JavaScript Tur O'zgartirish

JavaScript o'zgaruvchilari yangi o'zgaruvchiga va boshqa ma'lumot turiga aylantirilishi mumkin:

  • JavaScript funksiyasi yordamida
  • JavaScript tomonidan avtomatik ravishda

Satrlarni raqamlarga aylantirish

Global Number() metodi o'zgaruvchini (yoki qiymatni) raqamga aylantiradi.

  • Raqamli satr (masalan, "3.14") raqamga aylanadi (3.14).
  • Bo'sh satr ("") 0 ga aylanadi.
  • Raqamli bo'lmagan satr (masalan, "John") NaN ga aylanadi.
js
Number("3.14")    // 3.14
Number(Math.PI)   // 3.141592653589793
Number(" ")       // 0
Number("")        // 0

Bu satrlar aylanmaydi:

js
Number("99 88")   // NaN
Number("John")    // NaN

Raqam metodlari

MetodTavsif
Number()Argumentdan raqam qaytaradi.
parseFloat()Satrni tahlil qilib kasr son qaytaradi.
parseInt()Satrni tahlil qilib butun son qaytaradi.

Unar + operatori

Unar + operatori o'zgaruvchini raqamga aylantirish uchun ishlatilishi mumkin:

js
let y = "5";      // y satr
let x = + y;      // x raqam

Agar o'zgaruvchi aylantirilmasa, u hali ham raqam bo'ladi, lekin NaN qiymati bilan:

js
let y = "John";   // y satr
let x = + y;      // x raqam (NaN)

Raqamlarni satrlarga aylantirish

Global String() metodi raqamlarni satrlarga aylantirishi mumkin. U istalgan turdagi raqamlar, literallar, o'zgaruvchilar yoki ifodalar bilan ishlatilishi mumkin:

js
String(x)          // raqam o'zgaruvchisi x dan satr qaytaradi
String(123)        // raqam literali 123 dan satr qaytaradi
String(100 + 23)   // ifodadagi raqamdan satr qaytaradi

Number metodi toString() ham xuddi shunday qiladi:

js
x.toString()
(123).toString()
(100 + 23).toString()

Qo'shimcha metodlar

MetodTavsif
toExponential()Raqamni yaxlitlab eksponensial yozuvda satr qaytaradi.
toFixed()Raqamni belgilangan kasr sonlar bilan yaxlitlab satr qaytaradi.
toPrecision()Raqamni belgilangan uzunlikda satr qaytaradi.

Sanalarni raqamlarga aylantirish

Global Number() metodi sanalarni raqamlarga aylantirish uchun ishlatilishi mumkin:

js
d = new Date();
Number(d)          // 1404568027739 qaytaradi

Sana metodi getTime() ham xuddi shunday qiladi:

js
d = new Date();
d.getTime()        // 1404568027739 qaytaradi

Sanalarni satrlarga aylantirish

Global String() metodi sanalarni satrlarga aylantirishi mumkin:

js
String(Date())  // "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"

Date metodi toString() ham xuddi shunday qiladi:

js
Date().toString()  // "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"

Sana metodlari

MetodTavsif
getDate()Kunni raqam sifatida oladi (1-31).
getDay()Hafta kunini raqam sifatida oladi (0-6).
getFullYear()To'rt xonali yilni oladi (yyyy).
getHours()Soatni oladi (0-23).
getMilliseconds()Millisekundlarni oladi (0-999).
getMinutes()Daqiqalarni oladi (0-59).
getMonth()Oyni oladi (0-11).
getSeconds()Sekundlarni oladi (0-59).
getTime()Vaqtni oladi (1970-yil 1-yanvardan beri millisekundlar).

Booleanlarni raqamlarga aylantirish

Global Number() metodi booleanlarni raqamlarga aylantirishi mumkin:

js
Number(false)     // 0 qaytaradi
Number(true)      // 1 qaytaradi

Booleanlarni satrlarga aylantirish

Global String() metodi booleanlarni satrlarga aylantirishi mumkin:

js
String(false)      // "false" qaytaradi
String(true)       // "true" qaytaradi

Boolean metodi toString() ham xuddi shunday qiladi:

js
false.toString()   // "false" qaytaradi
true.toString()    // "true" qaytaradi

Avtomatik tur o'zgartirish

JavaScript "noto'g'ri" ma'lumot turi ustida amal bajarishga harakat qilganda, qiymatni "to'g'ri" turga aylantiradi. Natija har doim kutganingizdek bo'lmasligi mumkin:

js
5 + null      // 5 qaytaradi         chunki null 0 ga aylanadi
"5" + null    // "5null" qaytaradi   chunki null "null" ga aylanadi
"5" + 2       // "52" qaytaradi      chunki 2 "2" ga aylanadi
"5" - 2       // 3 qaytaradi         chunki "5" 5 ga aylanadi
"5" * "2"     // 10 qaytaradi        chunki "5" va "2" 5 va 2 ga aylanadi

Avtomatik satr o'zgartirish

JavaScript obyekt yoki o'zgaruvchini "chiqarishga" harakat qilganda avtomatik ravishda o'zgaruvchining toString() funksiyasini chaqiradi:

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

// agar myVar = {name:"Fjohn"}   // toString "ni "[object Object]" ga aylantiradi
// agar myVar = [1,2,3,4]        // toString "ni "1,2,3,4" ga aylantiradi
// agar myVar = new Date()       // toString "ni "Fri Jul 18 2014 09:08:55 GMT+0200" ga aylantiradi

Raqamlar va booleanlar ham aylantiriladi, lekin bu unchalik yaqqol emas:

js
// agar myVar = 123             // toString "123" ga aylantiradi
// agar myVar = true            // toString "true" ga aylantiradi
// agar myVar = false           // toString "false" ga aylantiradi

JavaScript tur o'zgartirish jadvali

Bu jadval JavaScript-ning turli qiymatlarini Number, String va Boolean ga aylantirishning natijalarini ko'rsatadi:

Asl qiymatNumber gaString gaBoolean ga
false0"false"false
true1"true"true
00"0"false
11"1"true
"0"0"0"true
"000"0"000"true
"1"1"1"true
NaNNaN"NaN"false
InfinityInfinity"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
null0"null"false
undefinedNaN"undefined"false

Qo'shtirnoq ichidagi qiymatlar satr qiymatlarini bildiradi. Qalin qiymatlar ba'zi dasturchilar kutmasligi mumkin bo'lgan qiymatlardir.