Bu modulda tilning poydevori o’rganildi: o’zgaruvchilar, ma’lumot turlari, tur o’zgarishlari va operatorlar.
Qiymatlar va o’zgaruvchilar
O’zgaruvchi — qiymatga qo’yilgan nom. E’lon qilish:
let ism = "Aziza";
let yosh = 21;
console.log(ism, yosh);
Natija: Aziza 21
Sintaksis qoidalari
- Nomlar camelCaseda:
foydalanuvchiIsmi(birinchi so’z kichik, keyingilari bosh harf bilan). - Nom raqamdan boshlanmaydi, faqat harf,
_va$ishlatiladi. - Qator oxirida
;— majburiy emas, lekin yozish odati chalkashliklardan saqlaydi. - Izoh:
// bir qatorliva/* ko’p qatorli */.
let, const va var
let |
const |
var |
|
|---|---|---|---|
| Qayta tayinlash | mumkin | mumkin emas | mumkin |
| Amal doirasi | blok | blok | funksiya |
| Qachon | qiymat o’zgarsa | standart tanlov | eski kod (yangi kodda ishlatmang) |
Odat: hammasini const bilan boshlang; qiymat haqiqatan o’zgarishi kerak bo’lsagina letga o’ting. var — tilning eski davri merosi.
Tipik xato. constga qayta qiymat berish: TypeError: Assignment to constant variable. — bu xatoni ko’rsangiz, o’zgaruvchini let bilan e’lon qilish kerakmi yoki mantiq xatomi, o’ylab ko’ring.
Ma’lumot turlari
Asosiy sodda turlar:
| Tur | Misol | Izoh |
|---|---|---|
number |
42, 3.14 |
butun va kasr — bitta tur |
string |
"salom" |
matn |
boolean |
true, false |
mantiqiy qiymat |
undefined |
— | qiymat berilmagan |
null |
null |
ataylab "bo’sh" qilingan |
Turni typeof bilan tekshirish mumkin:
console.log(typeof 42);
console.log(typeof "salom");
Natija: number va string
Tur o’zgartirish va coercion
O’zingiz o’zgartirsangiz — conversion: Number("5"), String(42), Boolean(1). Til o’zi "sezdirmay" o’zgartirsa — coercion:
console.log("5" + 3);
console.log("5" - 3);
Natija: 53 va 2
+ operatori string ko’rsa ulashga o’tadi ("5" + 3 → "53"), - esa faqat son bilan ishlaydi, shuning uchun "5"ni songa aylantiradi. Bu — JS’dagi eng mashhur "tuzoq"lardan biri.
Operatorlar
Arifmetika: + - * / % (qoldiq) va ** (daraja). Taqqoslash: > < >= <=, tenglik esa ikki xil:
console.log(5 == "5");
console.log(5 === "5");
Natija: true va false
== faqat qiymatni solishtiradi (coercion bilan), === esa qiymat va turni. Qoida qat’iy: har doim === ishlating — == kutilmagan natijalar manbai.
Mantiqiy operatorlar
&& (va), || (yoki), ! (emas):
const yosh = 20;
const pasportBor = true;
console.log(yosh >= 18 && pasportBor);
Natija: true
&& — ikkala shart ham bajarilsa, || — kamida bittasi bajarilsa true.
Operatorlar ustuvorligi
2 + 3 * 4 = 14: ko’paytirish avval. Taqqoslash arifmetikadan keyin, mantiqiy operatorlar undan ham keyin bajariladi. Shubhali joyda qavs qo’ying — qavs har doim g’olib va kodni o’qigan odamga ham tushunarli.
Amaliyot
- O’zingiz haqingizda uch o’zgaruvchi e’lon qiling (
const ism,let yosh,const talabami) va konsolga chiqaring. typeofbilan beshala sodda turni tekshirib chiqing."5" + 3,"5" - 3,"5" * "2"natijalarini avval qog’ozda taxmin qiling, keyin konsolda tekshiring.==va===bilan0 == false,"" == falsekabi juftliklarni solishtiring — farqni his qiling.- Yosh va rozilikdan iborat ikkita shartni
&&va||bilan birlashtirib sinang.
Modul testini ishlang — keyingi modulda dastur "qaror qabul qilishni" o’rganadi.