Junior
Фарқияти байни намудҳои гуногуни маълумот чист?
sobes.tech AI
Ҷавоб аз AI
Дар JavaScript маълумотҳо ба намудҳои ибтидоӣ ва объектҳо тақсим мешаванд.
Намудҳои ибтидоӣ:
- String: Силсила аз рамзҳо. Нестоянда.
- Number: Сандҳо, аз ҷумла сандҳои комил ва бо нуқтаи парвоз, инчунин
Infinity,-InfinityваNaN. - Boolean: Қимати мантиқӣ (
trueёfalse). - Null: Қимати махсус, ки намоиши набудани объектро дорад.
- Undefined: Қимати тағйирёбанда, ки ба он қимат дода нашудааст.
- Symbol: Намуди беназири ва нестояндаи ибтидоӣ, ки барои муайян кардани хусусиятҳои объект истифода мешавад.
- BigInt: Сандҳои пурра бо дарозии номаҳдуд.
Объектҳо:
- Object: Коллексияи ҷуфтҳои калид-қимат. Мутобиқшаванда. Мисолҳо: массивҳо, функсияҳо, изразҳои муқарраршуда, таърихҳо.
Фарқиятҳои асосӣ:
- Мутобиқшаванда (Mutability): Намудҳои ибтидоӣ тағйирнопазиранд, яъне қимати онҳоро мустақиман тағйир додан мумкин нест. Ҳангоми кӯшиши тағйир додан нусхаи нав сохта мешавад. Объектҳо тағйирёбандаанд, хусусиятҳои онҳоро илова кардан, тоза кардан ва тағйир додан мумкин аст.
- Пасандозӣ ба қимат/пайванд: Намудҳои ибтидоӣ ба қимат дода мешаванд (қимати худро нусхабардорӣ мекунанд). Объектҳо ба пайванд дода мешаванд (пайванд ба ҷойи дар ёддошт, ки объект дар он ҷойгир аст, нусхабардорӣ мешавад).
- Мувофиқат: Намудҳои ибтидоӣ ба қимат муқоиса мешаванд. Объектҳо ба пайванд муқоиса мешаванд (ду тағйирёбанда ба як объект дар ёддошт ишора мекунанд).
// Мисолҳо
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 аст, пайванд мегирад
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 - пайвандҳо муқоиса мешаванд (ба объектҳои гуногун ишора мекунанд, ҳарчанд мазмунашон якхела)
Ҷадвали фарқиятҳо:
| Хусусият | Намудҳои ибтидоӣ | Объектҳо |
|---|---|---|
| Мутобиқшаванда | Нестоянда | Мутобиқшаванда |
| Пасандозӣ | Ба қимат | Ба пайванд |
| Мувофиқат | Ба қимат | Ба пайванд |
| Зеркашӣ | Дар тағйирёбандаҳо | Ба пайванд ба ҷойи ёддошт |
| Намудҳои додаҳо | String, Number, Boolean, Null, Undefined, Symbol, BigInt | Объект (аз ҷумла массивҳо, функсияҳо ва ғайра) |