Sobes.tech
Junior

Төрдүү маалымат түрлөрүнүн айырмасы эмнеде?

sobes.tech AI

AIден жооп

JavaScriptте маалыматтар негизги түрлөргө жана объекттерге бөлүнөт.

Негизги түрлөр:

  • String: Белгилердин тизмеги. Өзгөрбөс.
  • Number: Сандар, анын ичинде бүт жана ондук бөлүкчөлөр, ошондой эле Infinity, -Infinity жана NaN.
  • Boolean: Логикалык мааниси (true же false).
  • Null: Өзгөчө мааниси, объекттин жоктугун көрсөтөт.
  • Undefined: Өзгөрмөнүн мааниси, ага маанилер берилбеген.
  • Symbol: Уникалдуу жана өзгөрбөс негизги түр, объекттин мүнөздөмөлөрүн аныктоо үчүн колдонулат.
  • BigInt: Чексиз узундуктагы бүт сандар.

Объекттер:

  • Object: ачкыч-маани жуптарынан турган топтому. Өзгөрүлүүчү. Мисалдар: массивдер, функциялар, регуляторлук өрнөктөр, даталар.

Негизги айырмачылыктар:

  1. Өзгөрүлмөлүүлүк (Mutability): Негизги түрлөр өзгөрүлбөс, т.а. алардын маанисин түздөн-түз өзгөртүүгө болбойт. Өзгөртүүгө аракет кылганда жаңы көчүрмө түзүлөт. Объекттер өзгөрүлмөлүү, алардын мүнөздөмөлөрүн кошуу, өчүрүү жана өзгөртүү мүмкүн.
  2. Мааниси боюнча өткөрүү: Негизги түрлөр мааниси боюнча өткөрүлөт (өзүнчө мааниси көчүрүлөт). Объекттер шилтеме аркылуу өткөрүлөт (шилтеме эс тутумдагы объектке көрсөтөт).
  3. Салыштыруу: Негизги түрлөр мааниси боюнча салыштырылат. Объекттер шилтеме аркылуу салыштырылат (эки өзгөрмө бир эле объектке шилтеме кылат).
// Мисалдар
let str1 = "hello";
let str2 = str1; // str2 str1 маанисинин көчүрмөсүн алат
str1 = "world"; // str1 үчүн жаңы сап түзүлөт
console.log(str2); // "hello" - str2 өзгөргөн жок

let obj1 = { name: "Alice" };
let obj2 = obj1; // obj2 ошол эле объектке шилтеме кылат
obj1.name = "Bob"; // Объекттин мүнөздөмөсү өзгөртүлөт, анткени эки өзгөрмө ошол эле объектке шилтеме кылат
console.log(obj2.name); // "Bob" - obj2 өзгөрдү

let num1 = 10;
let num2 = 10;
console.log(num1 === num2); // true - маанилери бирдей

let objA = { value: 1 };
let objB = { value: 1 };
console.log(objA === objB); // false - шилтемелер салыштырылат (алар башка объекттерге шилтеме кылат, бирок мазмуну бирдей)

Айырмачылык таблицасы:

Өзгөрмө Негизги түрлөр Объекттер
Өзгөрүлмөлүүлүк Өзгөрбөс (immutable) Өзгөрүлүүчү (mutable)
Өткөрүү мааниси боюнча шилтеме аркылуу
Салыштыруу мааниси боюнча шилтеме аркылуу
Сактоо түздөн-түз өзгөрмөдө эс тутумдагы шилтеме
Маалымат түрлөрү String, Number, Boolean, Null, Undefined, Symbol, BigInt Объекттер (массивдер, функциялар жана башка)