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,-InfinityvəNaNdaxil olmaqla. - Boolean: Məntiqi dəyər (
truevə yafalse). - 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:
- 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.
- 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).
- 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.) |