Sobes.tech
Junior

Fərqli məlumat tipləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

JavaScript-də məlumatlar primitiv tiplər və obyektlərə bölünür.

Primitiv tiplər:

  • String: Simvol ardıcıllığı. Dəyişməz.
  • Number: Tam və onluq ədədlər, eləcə də Infinity, -InfinityNaN daxil olmaqla.
  • Boolean: Məntiqi dəyər (true və ya false).
  • Null: Ob'ektin olmamasını göstərən xüsusi dəyər.
  • Undefined: Dəyişənə heç bir dəyər təyin edilməyib.
  • Symbol: Unikal və dəyişməz primitiv tip, obyektin xüsusiyyətlərini identifikasiya etmək üçün istifadə olunur.
  • BigInt: Hər hansı uzunluqda tam ədədlər.

Obyektlər:

  • Object: Açar-dəyər cütlüklərinin kolleksiyası. Dəyişkəndir. Nümunələr: massivlər, funksiyalar, tənzimləyici ifadələr, tarixlər.

Əsas fərqlər:

  1. Dəyişkənlik (Mutability): Primitiv tiplər dəyişməzdir, yəni onların dəyərini birbaşa dəyişdirmək mümkün deyil. Dəyişiklik cəhdində yeni nüsxə yaradılır. Obyektlər dəyişkəndir, onların xüsusiyyətləri əlavə edilə, silinə və dəyişdirilə bilər.
  2. Dəyər / Referensiya ilə ötürmə: Primitiv tiplər dəyər ilə ötürülür (öz dəyəri kopyalanır). Obyektlər referensiya ilə ötürülür (obyektin yaddaşdakı yerinə referensiya kopyalanır).
  3. Müqayisə: Primitiv tiplər dəyər ilə müqayisə olunur. Obyektlər referensiya ilə müqayisə olunur (iki dəyişən eyni obyektə istinad edir).
// Nümunələr
let str1 = "hello";
let str2 = str1; // str2, str1-in dəyərinin nüsxəsini alır
str1 = "world"; // str1 üçün yeni "world" sətiri yaradılır
console.log(str2); // "hello" - str2 dəyişməyib

let obj1 = { name: "Alice" };
let obj2 = obj1; // obj2, eyni obyektə referansdır
obj1.name = "Bob"; // Ob'ektin xüsusiyyəti dəyişdirilir
console.log(obj2.name); // "Bob" - obj2 də dəyişib

let num1 = 10;
let num2 = 10;
console.log(num1 === num2); // true - dəyərlər müqayisə olunur

let objA = { value: 1 };
let objB = { value: 1 };
console.log(objA === objB); // false - referanslar müqayisə olunur (fərqli obyektlər, baxmayaraq ki, eyni məzmunu daşıyırlar)

Fərqlər cədvəli:

Xüsusiyyət Primitiv tiplər Obyektlər
Dəyişkənlik Dəyişməz Dəyişkəndir
Keçid Qiymət ilə Referans ilə
Müqayisə Qiymət ilə Referans ilə
Saxlama Birbaşa dəyişəndə Yaddaş yerinə referans
Məlumat tipləri String, Number, Boolean, Null, Undefined, Symbol, BigInt Obyekt (daxil olmaqla massivlər, funksiyalar və s.)