JavaScript`də “Use Strict” ifadəsi

Jahangir Kazimli
2 min readNov 6, 2021

--

Dediyim kimi , modern JavaScript məqalələrinə başlayırıq və orta səviyyədən üst səviyyəyə doğru mövzulara toxunacağıq. Bugünkü məqalədə, “use strict” ifadəsini araşdıracağıq.

“Use Strict” ifadəsi , modern JavaScript ilə gələn funksiyalardan biridir və kodlara “sərt qaydalar” gətirir deyə bilərik. Normalda JavaScript , bizim diqqət etmədiyimiz kiçik xətaları görməzdən gəlir , əksik yazdığımız kodları tamamlayır. Kod işlədiyinə görə , biz onu düzgün yazdığımızı düşünürük. Əslində isə bu belə deyil. Sadə bir nümunəyə baxaq :

myNumber = 7;console.log(myNumber) ;  // 7

Normal halda bu kodu işlətsək , console`a “7” dəyərini yazacaq. Amma diqqət etsəniz , biz burada myNumber adlı dəyişən yaratmamışıq. Sanki elə bir dəyişənimiz varmış kimi , ona dəyər vermişik. Əslində isə dəyişəni yaratmalıydıq. Bu kod işləyəndə , JavaScript avtomatik olaraq myNumber adlı dəyişəni bizim əvəzimizə yaradır və işimizin rahat olması üçün bizə xəta vermir.

“Use Strict” istifadə etsək ?

Use Strict ifadəsi , hər xırda xətada bizə xəbərdarlıq edir. Yuxarıdaki kimi tamamlamır əksiklərimizi. Kodu yenidən yazaq , Use Strict ilə birlikdə:

Qeyd : Use Strict ifadəsi global olaraq yazılacaqsa , kodların ən üst hissəsinə yazılmalıdır.

"use strict" ;myNumber = 7;
console.log(myNumber) ; // ReferenceError: myNUmber is not defined

Gördüyünüz kimi , Use Strict istifadə etdikdə , myNumber adlı dəyişənin olmadığını qeyd etdi.

Əgər bu ifədini ümumi kodun ən üst hissəsinə yazsaq , bütün kod bu qaydalarla işləyəcək. Çünki global olaraq yazmış olacağıq və kodun bütün hissələrinə təsir edəcək. Amma bəzən elə ola bilər ki , bu qaydaların yalnız müəyyən bir funksiya daxilində keçərli olmasını istəyə bilərik :

myFunction = () => {"use strict" ;

userName = "Jahangir" ;
console.log(userName) ;}myFunction(); // ReferenceError: userName is not defined

Strict moduna aid ümumi qaydalara baxaq :

  1. Dəyişəni yaratmadan ona dəyər vermək istəsəniz , xəta alacaqsız.
  2. Bu modda dəyişən və ya funksiyanı delete ilə silə bilmərsiz.
  3. funksiyalarda eyni parametri 2 dəfə istifadə edə bilmərsiz.
  4. eval() funksiyasını istifadə edə bimərsiz (təhlükəsizlik məsələsidir)

Bu məqalədə Strict mod haqqında qısaca danışdıq. Ümid edirəm ki faydalı oldu. Sualınız olarsa yaza bilərsiz.

./JahangirSeven

--

--