Junior — Middle
Ինչպե՞ս տարբերել հիմնական տվյալների տեսակները հղումային տեսակներից ծրագրավորման մեջ։
sobes.tech AI
Պատասխան AI-ից
Հիմնական տվյալների տեսակները (օրինակ, int, float, boolean, char Java-ում կամ number, boolean, string JavaScript-ում) անմիջապես պահում են արժեքները և սովորաբար ունեն ֆիքսված չափս։ Երբ նշանակվում կամ փոխանցվում են հիմնական տեսակներ, ինքն արժեքը պատճենվում է։
Հղումային տեսակները (օրինակ, օբյեկտներ, զանգվածներ, դասեր) պահում են հղում (ցուցանիշ) տվյալների գտնվելու վայրի մասին։ Երբ նշանակվում կամ փոխանցվում է հղումային տեսակ, պատճենվում է միայն հղումը, ոչ թե տվյալները, ուստի մեկ հղումով կատարված փոփոխությունները արտացոլվում են բոլոր մյուսներում։
Օրինակ JavaScript-ում՝
let a = 5; // հիմնական
let b = a; // արժեքը պատճենվում է
b = 10;
console.log(a); // 5 - սկզբնականը չի փոխվել
let obj1 = {name: 'Alice'}; // հղումային տեսակ
let obj2 = obj1; // հղումը պատճենվում է
obj2.name = 'Bob';
console.log(obj1.name); // 'Bob' - օբյեկտը փոխվել է այլ հղումով
Հիմնական տարբերությունը այն է, որ հիմնական տեսակները անմիջապես պահում են արժեքները, իսկ հղումային տեսակները պահում են տվյալների հասցեները հիշողության մեջ։