Sobes.tech
Junior

Dəyişdirilə bilən və dəyişdirilə bilməyən məlumat tipləri arasındakı əsas fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Əsas fərq obyektin dəyərini onun yaradılmasından sonra dəyişdirmək imkanındadır. Dəyişdirilə bilən tiplər birbaşa dəyişikliklərə imkan verir, dəyişdirilə bilməz tiplər isə yox. Dəyişdirilməz obyekt "dəyişildikdə" əslində yeni dəyər ilə yeni obyekt yaradılır.

Nümunələr:

Dəyişdirilə bilən tiplər:

  • Array
  • Object
// Dəyişdirilə bilən nümunə (Array)
let mutableArray = [1, 2];
mutableArray.push(3); // Mövcud array-ı dəyişir
console.log(mutableArray); // Göstərir: [1, 2, 3]
// Dəyişdirilə bilən nümunə (Object)
let mutableObject = { a: 1 };
mutableObject.b = 2; // Mövcud obyekti dəyişir
console.log(mutableObject); // Göstərir: { a: 1, b: 2 }

Dəyişdirilməz tiplər:

  • String
  • Number
  • Boolean
  • null
  • undefined
  • Symbol
  • BigInt
// Dəyişdirilməz nümunə (String)
let immutableString = "salam";
immutableString = immutableString + " dünya"; // Yeni sətir yaradılır
console.log(immutableString); // Göstərir: salam dünya

// Referansların müqayisəsi fərqi göstərəcək
let str1 = "abc";
let str2 = str1.toUpperCase();
console.log(str1 === str2); // Göstərir: false
// Dəyişdirilməz nümunə (Number)
let immutableNumber = 10;
immutableNumber = immutableNumber + 5; // Yeni ədədi dəyər yaradılır
console.log(immutableNumber); // Göstərir: 15

Müqayisə:

Xüsusiyyət Dəyişdirilə bilən Dəyişdirilməz
Dəyişiklik Yaradan sonra mümkündür Yaradan sonra mümkün deyil
Yeni referans Eyni qalır "Dəyişiklik" zamanı yeni yaradılır

Bu fərqi başa düşmək kodun proqnozlaşdırıla bilməsini, vəziyyətlərlə işləməni (məsələn, React və Redux-də) və optimizasiyanı çox vacib edir. Dəyişdirilməz məlumatların istifadəsi səhvlərin tapılmasını asanlaşdırır, geri alma funksiyalarını (undo) asan həyata keçirməyə imkan verir və UI çərçivələrində referansların sadə müqayisəsi ilə renderləməni optimallaşdırır.