Qisqa satrlarda JavaScript — 2. JavaScriptning leksik tuzilishi

Nuriddin Kamardinov
3 min readApr 1, 2019

Qisqa satrlarda Javascript turkumini davom ettirgan holatda sizlarga JavaScriptning leksik tuzilishi haqida ma’lumot beramiz va uning tashkil qiluvchi elementlarini alohida ko’rib chiqamiz. Bular: yunikod (unicode), nuqtali vergul, bo’sh maydon (probel, tabulyatsiya, yangi qator), registr sezuvchanligi (case sensitivity), kommentariya, literal, identifikator, kalit so’zlar.

Yunikod

JavaScript yunikod da yozilgan. Yunikod belgilar standarti bo’lib, hozirda foydalanilayotgan dunyo tillarining belgilarini o’zida jamlagan. Hozirgi kunda eng ko’p foydalanilayotgan standart hisoblanadi. Bu degani siz o’zgaruvchilaringizni nomlayotganda istalgan belgidan foydalishiz mumkin: arab harflari yoki xitoy iyerogliflari, hattoki emojilardan ham foydalana olasiz :) Lekin identifikatorlarni tanlayotganda ba’zi qoidalarni unutmaslik kerak, bu haqida keyinroq.

Nuqtali vergul

Ko’pincha JavaScript kodlarida siz nuqtali vergulni uchratgan bo’lsangiz ajab emas. Ammo nuqtali vergulsiz ham kodingiz ishlashi mumkinligini o’ylab ko’rganmisiz. JavaScriptda nuqtali vergul majburiy emas. Siz bemalol ularni yozmasdan ketishingiz mumkin. JavaScript bu borada sizga tanlash imkonini beradi va bu o’zingizning kod yozish uslubingizga bog’liq.

Bo’sh maydon

JavaScriptda bo’sh maydonlar ma’noga ega emas. Shuning uchun probellardan va bo’sh qatorlardan istalgancha foydalanishngiz mumkin. Muhimi kodingiz ravon va tushunarli bo’lishi kerak. Lekin bunday ko’rinishda kod yozishingiz ham yaramaydi:

return
variable

yoki yangi qatorlarni qavslardan boshlamagan ham ma’qul. Garchi bu holatda dasturingiz ishlasa ham, siz “toza kod” qoidalarini rioya qilmagan bo’lasiz.

Registr sezuvchanligi

Bizga case sensitivity nomi bilan tanish bo’lgan atamani, to’g’risi o’zbek tilida uchratmagan edim va qo’limdan kelgancha tarjima qildim: registr sezuvchanligi. Registr sezuvchanligi — bosh va kichik harfni farqlashni anglatadi. JavaScript ham ushbu xususiyatga ega, ya’ni value va Value o’zgaruvchilari boshqa-boshqa ma’lumotni saqlaydi.

Kommentariyalar

JavaScriptda ikki xil ko’rinishda kommentariya qoldirishingiz mumkin:

  1. /* */ — bir necha qatorlarni ifodalasa bo’ladi
  2. // — o’zidan o’ngda turgan barcha belgilarni va faqat bitta qatorni kommentariyaga oladi

Literallar

Literal deb dastur kodlarida foydalaniladigan qiymatlarga aytiladi. Misol uchun, son, qator, mantiqiy ifoda yoki massiv, obyekt kabi murakkab konstruksiyalar.

6
‘Test’
true
[‘a’, ‘b’]
{name: ‘The Alchemist’, author: ‘Paulo Coelho’}

Identifikatorlar

Identifikator — o’zgaruvchi, funksiya, obyektni nomlash uchun foydalaniladigan belgilar ketma-ketligi. Identifikator tanlayotganda harf, $ yoki _ belgilari orqali boshlash mumkin, shuningdek raqamlardan ham foydalansa bo’ladi, ammo boshida emas. Yunikodda foydalanganligi uchun istalgan belgidan foydalansangiz bo’ladi, avval ham taʼkidlaganimdek, emojilardan ham 😉

$ belgisi odatda DOM elementlarini ifodalayotganda ishlatiladi. (DOM haqida keyinroq batafsil ma’lumot beramiz)

Kalit so’zlar

JavaScriptda quyidagi kalit so’zlar mavjud bo’lib, ulardan identifikator sifatida foydalana olmaysiz:

abstract**, arguments, await*, boolean**, break, byte**, case, catch, char**, class*, const, continue, debugger, default, delete, do, double**, else, enum*, eval, export*, extends*, false, final**, finally, float**, for, function, goto**, if, implements, import*, in, instanceof, int**, interface, let*, long**, native**, new, null, package, private, protected, public, return, short**, static, super*, switch, synchronized**, this, throw, throws**, transient**, true, try, typeof, var, void, volatile**, while, with, yield.

* — ECMAScript 5 va 6-versiyalarida yangi qo’shilgan so’zlar

** — ECMAScript 5 va 6-versiyalarida olib tashlangan so’zlar. Hali barcha brauzer ham ushbu versiyani qo’llab quvvatlamasligi mumkin, shuning uchun bu so’zlardan foydalanmaslik tavsiya etiladi.

Ha aytganchi, ECMAScript va uning versiyalari haqida batafsil keyinroq ma’lumot beramiz.

--

--