Yuqorida aytganimizdek, var blok ko‘rinish sohasiga ega emas. Bu muammoni hal qilish uchun ES2015 da let qo‘shilgan. let orqali e’lon qilngan o‘zgaruvchining ko‘rinish sohasi faqat o‘zi e’lon qilgan blokka hamda undagi ichki bloklargagina tegishli.
Zamonaviy dasturchilar, asosan, letdangina foydalanishmoqda, va var dan butunlay voz kechishmoqda.
Yana bir farqi, funksiya tashqarisida let orqali e’lon qilganizda, var dan farqli o‘laroq o‘zgaruvchini global o‘zgaruvchiga aylantirmaydi.
const orqali e’lon qilish
var yoki letyordamida e’lon qilingan o‘zgaruvchilar keyinchalik qiymatini o‘zgartirishi mumkin. const da e’lon qilingan o‘zgaruvchi initsializatsiya qilingandan keyin boshqa o‘zgarmaydi va uning qiymati o‘zgarmas qiymatga aylanadi, ya’ni konstantaga.
const a = ‘test’
a const ga istalgan literalni biriktirish mumkin. Yana bir jihati: agar a konstantaga obyekt biriktirilgan bo‘lsa, undagi funksiyalari orqali obyekt qiymatlarini o‘zgartirsa bo‘ladi.
const ko‘rsatkichni o‘zgartirmaslikni ta’minlaydi. Shuningdek, let kabi blok ko‘rinish sohasiga ega.
Zamonaviy dasturchilar dastur davomida o‘zgarmaydigan o‘zgaruvchilarni const da e’lon qilishni ma’qul ko‘rishadi, chunki bu keyiknchalik uchrashi mumkin bo‘lgan xatoliklarni oldini oladi.
Tiplar
iz JavaScriptni tipizatsiyaga ega emas deb eshitgan bo’lishingiz mumkin. Oldin ham ta’kidlaganimdek, bu mutlaqo noto’g’ri. JavaScript tipizatsiyaga ega, va aynan “dinamik tipizatsiya” xususiyatida ishlaydi. Bu degani, siz bir o’zgaruvchiga istalgan turdagi tipni o’zlashtirishingiz mumkin. JavaScriptda ikki xil tiplar mavjud: oddiy va murakkab tiplar.
Oddiy tiplar Oddiy tiplarga quyidagilar kiradi:
Sonlar
Qatorlar
Mantiqiy tiplar
Shuningdek, ikkita maxsus tiplar ham mavjud:
null
undefined (noaniq)
Keling, har birini alohida ko’rib chiqamiz.
Sonlar JavaScriptda sonlarning faqat bir turi mavjud, bu ham bo’lsa haqiqiy sonlardir.
Sonli literallar raqam ko’rinishida dasturda yoziladi va qanday yozilishiga qarab butun yoki haqiqiy sondagi literal bo’lishi mumkin.
Butun sonlar:
20
546984621654984
0xCC // 16 lik son
Haqiqiy sonlar:
3.14
.1234
5.2e4