Ma'lumotlar turlari javascript-info translate goog


Download 49.81 Kb.
Pdf ko'rish
bet1/3
Sana19.08.2023
Hajmi49.81 Kb.
#1668360
  1   2   3
Bog'liq
javascript-info.translate.goog-Malumotlar turlari



1/7
Ma'lumotlar turlari
javascript-info.translate.goog/types
JavaScript-dagi qiymat har doim ma'lum turdagi bo'ladi. Masalan, qator yoki raqam.
JavaScript-da sakkizta asosiy ma'lumotlar turi mavjud. Bu erda biz ularni umumiy ko'rib
chiqamiz va keyingi boblarda ularning har biri haqida batafsil gaplashamiz.
O'zgaruvchiga har qanday turni qo'yishimiz mumkin. Misol uchun, o'zgaruvchi bir vaqtning
o'zida satr bo'lishi va keyin raqamni saqlashi mumkin:
// no error 
let message = "hello"; 
message = 123456;
JavaScript kabi bunday narsalarga ruxsat beruvchi dasturlash tillari "dinamik ravishda
terilgan" deb nomlanadi, ya'ni ma'lumotlar turlari mavjud, lekin o'zgaruvchilar ularning
hech biriga bog'lanmagan.
Raqam
let n = 123; 
n = 12.345;
Raqam turi butun va suzuvchi nuqtali sonlarni ifodalaydi.
Raqamlar uchun ko'plab amallar mavjud, masalan, ko'paytirish 
*
, bo'lish , 
/
qo'shish 
+
,
ayirish 
-
va hokazo.


2/7
Oddiy raqamlardan tashqari, ushbu ma'lumotlar turiga tegishli "maxsus raqamli qiymatlar"
ham mavjud: 
Infinity

-Infinity
va 
NaN
.
Infinity
matematik Infinity ∞ ni ifodalaydi. Bu har qanday raqamdan kattaroq
bo'lgan maxsus qiymat.
Biz uni nolga bo'lish natijasida olishimiz mumkin:
alert( 1 / 0 ); // Infinity
Yoki unga to'g'ridan-to'g'ri murojaat qiling:
alert( Infinity ); // Infinity
NaN
hisoblash xatosini ifodalaydi. Bu noto'g'ri yoki aniqlanmagan matematik
operatsiya natijasidir, masalan:
NaN
yopishqoq. 
NaN
Qaytish bo'yicha har qanday keyingi matematik operatsiya 
NaN
:
Shunday qilib, agar matematik ifodaning biror joyi bo'lsa 
NaN
, u butun natijaga
tarqaladi (bundan faqat bitta istisno bor: 
NaN ** 0
is 
1
).
Matematik operatsiyalar xavfsizdir
JavaScript-da matematika bilan shug'ullanish "xavfsiz". Biz hamma narsani qila olamiz:
nolga bo'lish, raqamli bo'lmagan satrlarni raqamlar sifatida ko'rib chiqish va hokazo.
Skript hech qachon halokatli xato ("o'lish") bilan to'xtamaydi. Eng yomoni, biz 
NaN
natijaga
erishamiz.
Maxsus raqamli qiymatlar rasmiy ravishda "raqam" turiga tegishli. Albatta, ular bu
so'zning umumiy ma'nosida raqamlar emas.
Raqamlar bilan ishlash haqida ko'proq "Raqamlar" bo'limida ko'rib chiqamiz .
BigInt
JavaScript-da “raqam” turi manfiylardan kattaroq (bu ) yoki undan kichik butun son
qiymatlarini ishonchli tarzda ifodalay olmaydi .
(2 -1)9007199254740991-(2 -1)
Aniqroq qilib aytadigan bo'lsak, "raqam" turi kattaroq butun sonlarni (-gacha ) saqlashi
mumkin, ammo xavfsiz tamsayı diapazonidan tashqarida aniqlik xatosi bo'ladi, chunki
barcha raqamlar qattiq 64 bitli xotiraga mos kelmaydi. Shunday qilib, "taxminan" qiymat
saqlanishi mumkin.
1.7976931348623157 * 10
±(2 -1)
Masalan, bu ikki raqam (xavfsiz diapazondan yuqori) bir xil:
console.log(9007199254740991 + 1); // 9007199254740992 
console.log(9007199254740991 + 2); // 9007199254740992
Demak, barcha toq sonlarni “raqam” turida saqlash mumkin emas.
(2 -1)
53
53
308
53
53


3/7
Ko'pgina maqsadlar uchun diapazon juda etarli, lekin ba'zida bizga haqiqatan ham katta
butun sonlarning butun diapazoni kerak bo'ladi, masalan, kriptografiya yoki mikrosoniyali
aniqlikdagi vaqt belgilari.
±(2 -1)
BigInt
type ixtiyoriy uzunlikdagi butun sonlarni ifodalash uchun tilga yaqinda qo‘shildi.
Qiymat butun sonning oxiriga 
BigInt
qo'shilishi bilan yaratiladi :
n
// the "n" at the end means it's a BigInt 
const bigInt = 1234567890123456789012345678901234567890n;
Raqamlar kamdan-kam hollarda kerak bo'lganligi sababli 
BigInt
, biz ularni bu erda ko'rib
chiqmaymiz, lekin ularga BigInt ning alohida bobini bag'ishladik . Bunday katta raqamlar
kerak bo'lganda uni o'qing.
Muvofiqlik muammolari
Hozirda 
BigInt
Firefox/Chrome/Edge/Safari-da qo'llab-quvvatlanadi, lekin IE-da emas.
Brauzerning qaysi versiyalari qo'llab-quvvatlanishini bilish uchun MDN BigInt muvofiqlik
jadvalini tekshirishingiz mumkin .
String
JavaScript-dagi satr tirnoqlar bilan o'ralgan bo'lishi kerak.
let str = "Hello"; 
let str2 = 'Single quotes are ok too'; 
let phrase = `can embed another ${str}`;
JavaScript-da tirnoqlarning 3 turi mavjud.
1. Ikkita tirnoq: 
"Hello"
.
2. Yagona tirnoq: 
'Hello'
.
3. Orqa tizmalar: 
`Hello`
.
Ikki va bitta tirnoq "oddiy" tirnoqdir. JavaScript-da ular o'rtasida deyarli farq yo'q.
Backticks - bu "kengaytirilgan funksionallik" tirnoqlari. Ular bizga o'zgaruvchilar va
ifodalarni qatorga o'rash orqali kiritish imkonini beradi 
${…}
, masalan:
let name = "John"; 
// embed a variable 
alert( `Hello, ${name}!` ); // Hello, John! 
// embed an expression 
alert( `the result is ${1 + 2}` ); // the result is 3
Ichidagi ifoda 
${…}
baholanadi va natija satrning bir qismiga aylanadi. Biz u erda hamma
narsani qo'yishimiz mumkin: o'xshash o'zgaruvchi 
name
yoki arifmetik ifoda kabi 
1 + 2
yoki
murakkabroq narsa.
53


4/7
Shuni esda tutingki, bu faqat teskari belgilarda amalga oshirilishi mumkin. Boshqa
tirnoqlarda bu joylashtirish funksiyasi yo'q!
alert( "the result is ${1 + 2}" ); // the result is ${1 + 2} (double quotes do 
nothing)
Biz satrlarni Stringlar bobida batafsil yoritamiz .
Belgilar turi yo'q .
Ba'zi tillarda bitta belgi uchun maxsus "belgi" turi mavjud. Masalan, C tilida va Java-da u
"char" deb ataladi.
JavaScript-da bunday tur mavjud emas. Faqat bitta turi bor: 
string
. Satr nol belgilardan
(bo'sh bo'lishi), bitta belgidan yoki ularning ko'plaridan iborat bo'lishi mumkin.

Download 49.81 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling