DarslarWeb dasturlash
Math metodlari, operatorlar, Number turi
Math obyektining foydali metodlari, qo'shimcha operatorlar va Number turining o'ziga xos jihatlari.
40 daqiqa
JavaScript — Dars 7
Math, Number va operatorlar
Kvadrat ildiz, daraja, yaxlitlash, tasodifiy sonlar va butun/kasr sonlarni aniqlash.
MathNumber**%
Dars rejasi
6 ta mavzu1. Number turi — xususiyatlar
JS'da butun va kasr sonlar uchun bitta Number turi ishlatiladi. U Infinity, -Infinity va NaN kabi maxsus qiymatlarni ham o'z ichiga oladi.
1const butun = 42;2const kasr = 3.14;3const manfiy = -17;4
5// Maxsus qiymatlar6console.log(1 / 0); // Infinity7console.log(-1 / 0); // -Infinity8console.log("ha" * 2); // NaN9
10// Eng katta va kichik son11console.log(Number.MAX_SAFE_INTEGER); // 900719925474099112console.log(Number.MIN_SAFE_INTEGER); // -90071992547409912. Qo'shimcha operatorlar
1// Daraja2console.log(2 ** 10); // 10243console.log(3 ** 2); // 94
5// Qoldiq — juft/toq tekshirish6console.log(7 % 2); // 1 (toq)7console.log(8 % 2); // 0 (juft)8
9// Minus — manfiy qilish10const x = 5;11console.log(-x); // -512
13// Qisqartirilgan belgilashlar14let n = 10;15n += 5; // n = 1516n -= 3; // n = 1217n *= 2; // n = 2418n /= 4; // n = 619n %= 4; // n = 220n **= 3; // n = 83. Math — asosiy metodlar
1// Daraja va ildiz2Math.sqrt(16) // 43Math.cbrt(27) // 34Math.pow(2, 8) // 256 (2 ** 8 bilan bir xil)5
6// Modul (manfiyni musbatga)7Math.abs(-7) // 78Math.abs(3) // 39
10// Eng katta / kichik11Math.max(5, 2, 9, 1) // 912Math.min(5, 2, 9, 1) // 113
14// Massivdan — spread operatori bilan15const sonlar = [3, 7, 1, 9, 4];16Math.max(...sonlar) // 917Math.min(...sonlar) // 118
19// Konstantalar20Math.PI // 3.141592...21Math.E // 2.718281...Math.abs(x)
Manfiyni musbatga aylantiradi. -7 → 7.
Math.sqrt(x)
Kvadrat ildiz. Math.sqrt(25) → 5.
Math.pow(a, b)
a ning b-darajasi. 2 ** b bilan bir xil.
4. Yaxlitlash metodlari
1// Math.round — yaqin butunga (0.5 dan yuqori → yuqoriga)2Math.round(4.4) // 43Math.round(4.5) // 54Math.round(4.6) // 55
6// Math.ceil — har doim yuqoriga7Math.ceil(4.1) // 58Math.ceil(4.9) // 59Math.ceil(-4.5) // -410
11// Math.floor — har doim pastga12Math.floor(4.1) // 413Math.floor(4.9) // 414Math.floor(-4.5) // -515
16// Math.trunc — kasr qismini tashlash (floor'dan farqli!)17Math.trunc(4.9) // 418Math.trunc(-4.9) // -4 (floor: -5)19
20// toFixed — n ta kasrgacha (string qaytaradi!)21const narx = 19.98765;22narx.toFixed(2) // "19.99"23Number(narx.toFixed(2)) // 19.99 — songa qaytarish5. Tasodifiy sonlar
1// 0 dan 1 gacha (1 kirmaydi)2Math.random() // 0.7342...3
4// 1-6 oralig'ida (zar)5Math.floor(Math.random() * 6) + 16
7// Umumiy formula: min-max oralig'ida8function tasodifiy(min, max) {9 return Math.floor(Math.random() * (max - min + 1)) + min;10}11
12console.log(tasodifiy(10, 50)); // 10-50 oraliq13
14// Massivdan tasodifiy element15const ranglar = ["qizil", "sariq", "yashil"];16const rang = ranglar[Math.floor(Math.random() * ranglar.length)];Raqamni top
Natijajonli
6. Number'ning o'zining metodlari
1// Butun sonmi?2Number.isInteger(5) // true3Number.isInteger(5.0) // true4Number.isInteger(5.5) // false5
6// NaN tekshirish7Number.isNaN(NaN) // true8Number.isNaN("salom") // false (NaN emas, string)9
10// Cheksiz emasmi?11Number.isFinite(42) // true12Number.isFinite(Infinity) // false13
14// Matndan songa15Number("42") // 4216parseInt("18px") // 1817parseFloat("3.14kg") // 3.1418
19// Son chiroyli formatda20const son = 1234567.89;21son.toLocaleString("uz-UZ") // "1 234 567,89"22son.toFixed(1) // "1234567.9"Kichik test
0 / 51.4.5 ni har doim yuqoriga yaxlitlash uchun?
2.7 % 2 natijasi?
3.Math.random() qaysi oraliqda son qaytaradi?
4.toFixed(2) natijasi qanday tur?
5.2 ** 5 natijasi?