Jet School Logo

Data types nədir?

Data Types (Verilənlər tipləri) — proqramlaşdırmada bir dəyərin hansı növ məlumat olduğunu və onunla hansı əməliyyatların aparıla biləcəyini müəyyən edən təsnifatdır. Kompüter üçün 25, "25" və true tamamilə fərqli şeylərdir: birincisi rəqəmdir və onu toplamaq olar, ikincisi mətndir və onu birləşdirmək olar, üçüncüsü isə məntiqi dəyərdir və şərtlərdə istifadə olunur. Hər dəyişən müəyyən bir tipdə məlumat saxlayır. Bu yazıdakı nümunələr JavaScript dilindədir.


Data Tiplərinin əsas məqsədləri:

  1. Məlumatın növünü müəyyən etmək – kompüterə dəyərin rəqəm, mətn və ya başqa növ olduğunu bildirmək.
  2. Düzgün əməliyyatları təmin etmək – hər tip üçün uyğun əməliyyatların aparılmasına imkan vermək (rəqəmləri toplamaq, mətnləri birləşdirmək).
  3. Yaddaşdan düzgün istifadə etmək – müxtəlif tiplərin yaddaşda fərqli şəkildə saxlanılmasını təmin etmək.
  4. Səhvlərin qarşısını almaq – uyğun olmayan tiplərlə əməliyyat aparıldıqda xətanı və ya gözlənilməz nəticəni əvvəlcədən aşkar etməyə kömək etmək.


JavaScript-də əsas data tipləri

JavaScript-də data tipləri iki qrupa bölünür: primitiv (sadə) və istinad (reference) tipləri.

Primitiv tiplər:

let name = "Aysel"; // String – mətn

let age = 14; // Number – rəqəm

let price = 9.99; // Number – onluq rəqəm də Number-dir

let isStudent = true; // Boolean – məntiqi dəyər

let city; // Undefined – dəyər verilməyib

let score = null; // Null – "boş" dəyər, bilərəkdən təyin olunub

let big = 12345678901234567890n; // BigInt – çox böyük tam ədədlər

let id = Symbol("id"); // Symbol – unikal identifikator

İstinad (reference) tipləri:

let student = { name: "Aysel", age: 14 }; // Object

let colors = ["qırmızı", "mavi", "yaşıl"]; // Array

let greet = function () { return "Salam"; }; // Function

Burada Object açar-dəyər cütlərini, Array sıralı siyahını, Funksiya isə təkrar istifadə olunan kod blokunu saxlayır.


Tipi necə yoxlamaq olar?

JavaScript-də dəyərin tipini typeof operatoru ilə öyrənmək olar:

javascript

console.log(typeof "Salam"); // "string"

console.log(typeof 42); // "number"

console.log(typeof true); // "boolean"

console.log(typeof undefined); // "undefined"

console.log(typeof {}); // "object"

console.log(typeof []); // "object" (massiv də obyekt kimi görünür)

console.log(Array.isArray([])); // true (massivi dəqiq yoxlamaq üçün)

Məsələn: Bir istifadəçi qeydiyyat formasını doldurduqda, ad String, yaş Number, "şərtləri qəbul edirəm" qutusu isə Boolean tipində saxlanılır. Proqram bu tiplərə əsasən yaşın rəqəm olduğunu yoxlaya və 18-dən böyük olub-olmadığını müqayisə edə bilər.


Statik və dinamik tipləmə arasındakı fərq:

  • Statik tipləmə (Java, C++, TypeScript) – dəyişənin tipi əvvəlcədən elan olunur və sonradan dəyişdirilə bilmir. Tip səhvləri kompilyasiya mərhələsində aşkar olunur.
  • Dinamik tipləmə (JavaScript, Python) – dəyişənin tipi dəyərə görə avtomatik müəyyən olunur və proqram işləyərkən dəyişə bilər.

let value = 10; // Number

value = "on"; // indi String – JavaScript buna icazə verir

Dinamik tipləmə çevikdir, lakin diqqətsiz yazılarsa gözlənilməz səhvlərə yol aça bilər.


Tip çevrilməsi (Type Conversion)

Bəzən dəyəri bir tipdən digərinə çevirmək lazım olur. Bu, açıq (explicit) və ya avtomatik (implicit) ola bilər:

// Açıq çevirmə

Number("25"); // 25

String(25); // "25"

Boolean(0); // false

parseInt("42px"); // 42

// Avtomatik çevirmə (JavaScript özü edir)

console.log("5" + 2); // "52" (rəqəm mətnə çevrilir, birləşdirmə olur)

console.log("5" - 2); // 3 (mətn rəqəmə çevrilir, çıxma olur)


Yeni başlayanların ən çox rast gəldiyi tələlər:


  1. typeof null – nəticə "object" qayıdır; bu, JavaScript-in tarixi xətasıdır, null-un özü isə primitiv tipdir.
  2. Onluq hesablamalar – 0.1 + 0.2 nəticəsi 0.3 deyil, 0.30000000000000004 olur. Bu, rəqəmlərin yaddaşda ikilik sistemdə saxlanılması ilə bağlıdır.
  3. "5" + 2 və "5" - 2 – eyni tipli görünən ifadələr tipə görə tamamilə fərqli nəticə verir.
  4. == və === fərqi – == tipi çevirərək müqayisə edir ("5" == 5 → true), === isə tipi də yoxlayır ("5" === 5 → false). Tövsiyə olunan ===-dir.

Primitiv və istinad tipləri arasındakı fərq:

Primitiv tiplər dəyişənə kopyalanaraq ötürülür — biri dəyişsə, digəri təsirlənmir. İstinad tipləri (Object, Array) isə yaddaşdakı ünvana istinadla ötürülür — iki dəyişən eyni məlumata işarə edə bilər.

let a = 5;

let b = a;

b = 10;

console.log(a); // 5 (a dəyişmədi)

let obj1 = { x: 1 };

let obj2 = obj1;

obj2.x = 99;

console.log(obj1.x); // 99 (obj1 də dəyişdi, çünki eyni obyektə işarə edir)


Digər dillərdə rast gəlinən əlavə tiplər:

  1. Integer (int) – tam ədədlər (məsələn, 7, -3).
  2. Float / Double – onluq kəsrli ədədlər (məsələn, 3.14).
  3. Char – tək simvol (məsələn, 'A').
  4. Dictionary – açar-dəyər cütləri (Python-da).
  5. Tuple – dəyişdirilə bilməyən sıralı dəyərlər toplusu (Python-da).


Data Tiplərinin faydaları:

  • Proqramın düzgün və proqnozlaşdırıla bilən işləməsini təmin edir
  • Tip səhvlərinin erkən aşkar olunmasına kömək edir
  • Kodun oxunaqlığını və başqa proqramçılar tərəfindən başa düşülməsini asanlaşdırır
  • Yaddaşın səmərəli istifadəsinə şərait yaradır
  • Düzgün əməliyyat seçməyə imkan verir (rəqəmlə hesablama, mətnlə birləşdirmə)

Sadə müqayisə:

Təsəvvür edin ki, data tipləri müxtəlif növ qablardır — su üçün şüşə, un üçün kisə, yumurta üçün karton qutu. Hər qab öz məzmununa uyğundur: suyu kisəyə töksəniz dağılar, unu şüşəyə doldurmaq çətin olar. Proqramlaşdırmada da hər məlumat öz tipinə uyğun şəkildə saxlanılır və istifadə olunur.

İstəyirsiniz ki, bu biliyi praktikaya keçirib real nəticələr əldə edəsiniz? IT və Kompüter Mühəndisliyi kursumuzla addım-addım öyrənməyə başlayın. Ətraflı məlumat üçün linkə keçid edin: IT və Kompüter Mühəndisliyi kursu

Tədris sahələrimiz barədə məlumat almaq üçün qeydiyyatdan keçin

IT Sahəsini öyrənməyə başla