Javascript|ES6| var, let və const

Gulbahar Ceferova
3 min readJun 7, 2020

--

Uzun illərdir ki, Javascript’də dəyişənin tipin təyin etmək üçün “var” (variable) açar sözündən istifadə edilirdi. ES6 ilə gələn yeni özəlliklərlə yeni dəyişkən tipləri də əlavə edildi. Bunlar “let” və “const”dir.(Növbəti məqalələrdə ES6-nın digər yeniliklər barədə məlumat yerləşdiriləcək.)

Əvvəlcə ES6 haqqında qısa məlumat verək,

ECMAScript 6.0 və ya ES6 kimi ifadə edilir. ES6 Javascript dilinin inkişaf etdirilmiş yeni nəsil standartıdır. 2015 -ci ildə yayımlanıb.

LET

let ilə var demek olar ki, oxşar olsalar da var ilə dəyişkən təyin edilən zaman edilən xətaların qarşısını alır. Bunlar arasında olan əsas fərq scope ilə əlaqəlidir.Var function scope özelliyinə sahibdir, let isə block scope özelliyinə sahibdir. Bu nə deməkdir?

Scope- iki scope növü var, local və qlobal. Dəyişkənin olduğu ərazini bildirir. Yeni qlobal scope dəyişkənin hər hansi bir yerdən çağırılması, local scope isə block daxili çağrılmasıdır. Misalda daha aydın alacaq;

{Block}-Hər hansı bir fiqurlu mötərizə {} içərisində olan kod hissəsidir.

Scope- lərin anlamını bildiksə keçək əsas məsələyə, var dəyişənini block daxilindən və ya xaricdən çağırmaq olurdusa, let-də problem aradan qaldırıldı. Necə yəni?

Göründüyü kimi var dəyişənini localda və qlobalda çağırdıgımız zaman ekrana iki yazının ikisin də çıxır. Lakin let-də bu bele deyil,

Buradan belə bir nəticə çıxır ki, let dəyişəni yalnız block daxilində qiymətini dəyişir. Bu özəllik var dəyişənində olmadığı üçün yazdığımız kodda xəta bilinmirdi. Bunun aradan qaldırılması məlumatlara giriş icazəsinin qarşısını aldı.

Digər bir məsələ, əgər let şərt, dövr və funksiya daxilində qiymətini dəyişdirsək də block-dan kənar ilkin qiymətini alır.

Amma var dəyişənini yazdıqda ekrana , 30 nəticəsini verəcək.

CONST

Const -(Constant-sabit). Javascripdə sabit dəyişən tipidir. Sabit dəyişkənlər bir dəfə təyin edilir scope daxili təkrar dəyişdirilə bilməz.

Biz qloblada x dəyişənini təyin etməyimizə baxmayaraq, localda da eyni const dəyişkən adı istifadə edə bilərik.

Ümid edirem faydalı olmuşdur. Oxuduğunuz üçün təşəkkürlər!

--

--