Identifikatorlar va Zaxiralangan so'zlar

Identifikator - bu shunchaki nom nom. JavaScript'da identifikatorlar konstantalar, o'zgaruvchilar, xossalar, funksiyalar va klasslarni nomlash, shuningdek, JavaScript kodidagi ma'lum sikllarga nishon (label) berish uchun ishlatiladi. JavaScript identifikatori harf, pastki chiziq (_) yoki dollar belgisi ($) bilan boshlanishi kerak. Undan keyingi belgilar harflar, raqamlar, pastki chiziqlar yoki dollar belgilari bo'lishi mumkin. (Raqamlarga birinchi belgi bo'lishiga ruxsat berilmaganining sababi, JavaScript interpretatorining identifikatorlarni sonlardan oson ajrata olishini ta'minlashdir). Quyidagilar barchasi to'g'ri identifikatorlardir:

i
my_variable_name
v13
_dummy
$str

Har qanday tilda bo'lgani kabi, JavaScript ham ma'lum identifikatorlarni tilning o'zi uchun uchun zaxiralab qo'yadi. Bu "zaxiralangan so'zlar"ni oddiy identifikatorlar sifatida ishlatib bo'lmaydi. Ular keyingi bo'limda sanab o'tilgan.

Zaxiralangan so'zlar

Quyidagi so'zlar JavaScript tilining bir qismidir. Ularning ko'pchiligi (masalan, if, while va for kabi) zaxiralangan kalit so'zlardir (reserved keywords) va ularni konstantalar, o'zgaruvchilar, funksiyalar yoki klasslar nomlari sifatida ishlatish mutlaqo mumkin emas (biroq ularning barchasini obyekt ichidagi xossa nomi sifatida ishlatsa bo'ladi). Boshqalari (masalan, from, of, get va set kabi) cheklangan kontekstlarda sintaktik noaniqlik (syntactic ambiguity) bo'lmagan holda ishlatiladi va identifikator sifatida qo'llash uchun mutlaqo to'g'ri hisoblanadi. Yana boshqa kalit so'zlar (masalan, let kabi) oldingi versiyalar bilan moslikni (backward compatibility) saqlab qolish uchun to'liq zaxiralanishi mumkin emas, shuning uchun ularni qachon identifikator sifatida ishlatish mumkinu, qachon mumkin emasligini belgilovchi murakkab qoidalar mavjud. (Masalan, let so'zini var orqali klass tashqarisida e'lon qilinsa, o'zgaruvchi nomi sifatida ishlatsa bo'ladi, lekin klass ichida yoki const bilan e'lon qilinsa, mumkin emas.) Eng oson yo'l - bu so'zlarning hech birini identifikator sifatida ishlatmaslikdir. from, set va target so'zlarini ishlatish xavfsiz va ular allaqachon keng qo'llanilmoqda.

as          const       export      get         null        target      void
async       continue    extends     if          of          this        while
await       debugger    false       import      return      throw       with
break       default     finally     in          set         true        yield
case        delete      for         instanceof  static      try
catch       do          from        let         super       typeof
class       else        function    new         switch      var

JavaScript, shuningdek, hozirda tilda ishlatilmaydigan, lekin kelajakdagi versiyalarda ishlatilishi mumkin bo'lgan ba'zi kalit so'zlarni ham zaxiralaydi yoki ulardan foydalanishni cheklaydi:

enum   implements   interface   package   private   protected   public

Tarixiy sabablarga ko'ra, arguments va evalso'zlariga ma'lum holatlarda identifikator sifatida ruxsat etilmaydi va ularni umuman ishlatmaslik tavsiya etiladi.