Math metodlari, operatorlar, Number turi

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 mavzu
  1. 01Number turi — xususiyatlar
  2. 02Qo'shimcha operatorlar
  3. 03Math — asosiy metodlar
  4. 04Yaxlitlash metodlari
  5. 05Tasodifiy sonlar
  6. 06Number'ning o'zining metodlari

1. 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 qiymatlar
6console.log(1 / 0); // Infinity
7console.log(-1 / 0); // -Infinity
8console.log("ha" * 2); // NaN
9
10// Eng katta va kichik son
11console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
12console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991

2. Qo'shimcha operatorlar

1// Daraja
2console.log(2 ** 10); // 1024
3console.log(3 ** 2); // 9
4
5// Qoldiq — juft/toq tekshirish
6console.log(7 % 2); // 1 (toq)
7console.log(8 % 2); // 0 (juft)
8
9// Minus — manfiy qilish
10const x = 5;
11console.log(-x); // -5
12
13// Qisqartirilgan belgilashlar
14let n = 10;
15n += 5; // n = 15
16n -= 3; // n = 12
17n *= 2; // n = 24
18n /= 4; // n = 6
19n %= 4; // n = 2
20n **= 3; // n = 8

3. Math — asosiy metodlar

1// Daraja va ildiz
2Math.sqrt(16) // 4
3Math.cbrt(27) // 3
4Math.pow(2, 8) // 256 (2 ** 8 bilan bir xil)
5
6// Modul (manfiyni musbatga)
7Math.abs(-7) // 7
8Math.abs(3) // 3
9
10// Eng katta / kichik
11Math.max(5, 2, 9, 1) // 9
12Math.min(5, 2, 9, 1) // 1
13
14// Massivdan — spread operatori bilan
15const sonlar = [3, 7, 1, 9, 4];
16Math.max(...sonlar) // 9
17Math.min(...sonlar) // 1
18
19// Konstantalar
20Math.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) // 4
3Math.round(4.5) // 5
4Math.round(4.6) // 5
5
6// Math.ceil — har doim yuqoriga
7Math.ceil(4.1) // 5
8Math.ceil(4.9) // 5
9Math.ceil(-4.5) // -4
10
11// Math.floor — har doim pastga
12Math.floor(4.1) // 4
13Math.floor(4.9) // 4
14Math.floor(-4.5) // -5
15
16// Math.trunc — kasr qismini tashlash (floor'dan farqli!)
17Math.trunc(4.9) // 4
18Math.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 qaytarish

5. 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) + 1
6
7// Umumiy formula: min-max oralig'ida
8function tasodifiy(min, max) {
9 return Math.floor(Math.random() * (max - min + 1)) + min;
10}
11
12console.log(tasodifiy(10, 50)); // 10-50 oraliq
13
14// Massivdan tasodifiy element
15const 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) // true
3Number.isInteger(5.0) // true
4Number.isInteger(5.5) // false
5
6// NaN tekshirish
7Number.isNaN(NaN) // true
8Number.isNaN("salom") // false (NaN emas, string)
9
10// Cheksiz emasmi?
11Number.isFinite(42) // true
12Number.isFinite(Infinity) // false
13
14// Matndan songa
15Number("42") // 42
16parseInt("18px") // 18
17parseFloat("3.14kg") // 3.14
18
19// Son chiroyli formatda
20const son = 1234567.89;
21son.toLocaleString("uz-UZ") // "1 234 567,89"
22son.toFixed(1) // "1234567.9"

Kichik test

0 / 5

1.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?

Mustaqil ish

0 / 6