CodeGym /Kurslar /Frontend SELF AZ /Dəyişənlər və JavaScript-də data növləri

Dəyişənlər və JavaScript-də data növləri

Frontend SELF AZ
Səviyyə , Dərs
Mövcuddur

2.1 JavaScript-də dəyişənlər

JavaScript çevik və dinamik proqramlaşdırma dilidir, hansı ki, dəyişənlərin elan edilməsinin və verilənlər növləri ilə işləməyin müxtəlif üsullarını dəstəkləyir. Bu mühazirədə biz dəyişənlərin elan edilməsinin üç əsas üsulunu (var, let, const) və JavaScript-də əsas primitiv verilənlər növlərini nəzərdən keçirəcəyik.

JavaScript-də dəyişənlər

JavaScript – dinamik tipli dildir. Dəyişənlərin tipi yoxdur. İstənilən dəyişənə istənilən anda istənilən qiyməti mənimsətmək olar (amma bəzi incəliklər var).

Dəyişən yaratmaq üçün aşağıdakı kimi bir konstruksiya yazılmalıdır:

    
      var name;
    
  

Dəyişənə dərhal bir qiymət vermək olar:

    
      var name = value;
    
  

Amma ümumilikdə JavaScript-də dəyişən yaratmağın tam 3 üsulu var. Gəlin indi onlar haqqında daha ətraflı danışaq.

var operatoru

var ilə elan edilmiş dəyişənlərin funksional və ya qlobal əhatə dairəsi var. Onlar "hoisting" adı ilə tanınan "yuxarı qalxma" prosesinə məruz qalır, yəni onların elan edilməsi kodun icra edilməsi zamanı əhatə dairəsinin yuxarısına keçir.

Məsələn:

JavaScript
    
      console.log(x); // undefined
      var x = 10;
      console.log(x); // 10
    
  

Bu nümunədə x dəyişəni öz əhatə dairəsinin başına qaldırılır, buna görə birinci console.log undefined qaytarır.

Başqa sözlə, "hoisting" kodumuzu bu hala çevirir:

JavaScript
    
      var x;
      console.log(x); // undefined
      x = 10;
      console.log(x); // 10
    
  

let operatoru

Proqramçılar çox istədi ki, var operatorunun davranışını dəyişdirsinlər, amma milyonlarla yazılmış kod sətrini pozmaqdan çəkinirdilər. Buna görə yeni bir operator icad etdilər, hansı ki, dəyişənlər yaradır, amma bir az fərqli davranışla.

let ilə elan edilmiş dəyişənlərin blok əhatə dairəsi var. Bu, o deməkdir ki, onlar yalnız elan edildikləri kod blokunda (adətən {} içərisində) mövcuddur. let, var kimi "hoisting"-ə məruz qalmır.

Məsələn:

y dəyişəni yalnız if blokunda mövcuddur.

JavaScript
    
      if (true) {
        let y = 20;
        console.log(y); // 20
      }

      console.log(y); // ReferenceError: y is not defined
    
  

const operatoru

const ilə elan edilmiş dəyişənlərin də blok əhatə dairəsi var və bir dəfə təyin edildikdən sonra dəyişdirilə bilməz. Amma bu, obyektlərin, hansı ki const ilə elan edilib, dəyişdirilməz olması demək deyil — onların xüsusiyyətlərini dəyişmək mümkündür.

Yəni dəyişəni dəyişmək olmaz, amma ona istinad edən obyekti dəyişmək olar. İstədilər yaxşı olsun, alındı necə həmişəki kimi.

Məsələn:

Bu nümunədə x konstantası yenidən təyin edilə bilmir, amma obj obyekti dəyişdirilə bilər.

JavaScript
    
      const x = 30;
      console.log(x); // 30
      x = 40; // TypeError: Assignment to constant variable.

      const obj = { name: 'Alice' };
      obj.name = 'Bob'; // Bu mümkündür
      console.log(obj.name); // Bob
    
  

2.2 Primitiv data tipləri

JavaScript bir neçə primitiv data tipi dəstəkləyir, hansı ki, sadə dəyərləri təmsil edir və kompleks obyekt deyillər.

Number Tipi

Hər hansı rəqəm dəyərlərini təmsil edir, tam ədədlər və yaxud onluq nöqtəli ədədlər daxil olmaqla.

Nümunələr:

JavaScript
    
      let num = 42;
      let pi = 3.14;
    
  

String Tipi

Mətn məlumatlarını təmsil edir: sətirlər, simvollar, emoji. Sətirə bənzəyən hər şey buraya daxildir.

Nümunələr:

JavaScript
    
      let greeting = "Salam, dünya!";
      let facepalm = "🤦";
      let char = 'x';
    
  

Boolean Tipi

Loji dəyərləri true və ya false kimi təmsil edir.

JavaScript
    
      let isTrue = true;
      let isFalse = false;
    
  

Null Tipi

Məqsədli olaraq boş bir dəyəri təmsil edir.

JavaScript
    
      let empty = null;
    
  

Əgər bir tip bir dəyərlə məhdudlaşırsa və bu dəyər dəyərsizliyi ifadə edirsə, bəlkə o unikaldır – tipdən çox dəyər olaraq?

Undefined Tipi

Təyin edilmiş, lakin başlanğıc dəyər verilməmiş dəyişəni təmsil edir.

JavaScript
    
      let notAssigned;
      console.log(notAssigned); // undefined
    
  

2.3 var, let və const müqayisəsi

Gəlin sonda dəyişənlər yaratmaq üçün üç yolumuzu bir dəfə də müqayisə edək:

Xarakteristika var let const
Görünürlük sahəsi Funksional və ya qlobal Blok səviyyəli Blok səviyyəli
Hoisting Bəli, amma başlanğıc dəyər hoisting olmur Xeyr Xeyr
Təyinatın dəyişdirilməsi Bəli Bəli Xeyr
İnisializasiya Məcburi deyil Məcburi deyil Məcburidir

JavaScript dəyişənləri elan etmək üçün bir neçə üsul təqdim edir, hansılar ki kontekstdən asılı olaraq özünəməxsus xüsusiyyətlərə və tətbiq dəyərinə malikdir. var, hoisting xüsusiyyətləri və qlobal görünürlük sahəsinə görə daha az istifadə olunur. letconst müasir JavaScript-də blok səviyyəli görünürlük sahəsi və təyinatın dəyişdirilməsinə nəzarətə görə üstünlük təşkil edir.

Primitiv məlumat tipləri əsas məlumat strukturları ilə işləməyə imkan verir, mürəkkəb tətbiqlərin yaradılması üçün lazım olan əsas funksionallığı təmin edir. Və bu, dünyanın ən populyar dili! :)

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION