Junior — Middle
How to distinguish primitive data types from reference types in programming?
sobes.tech AI
Answer from AI
Primitive data types (for example, int, float, boolean, char in Java or number, boolean, string in JavaScript) directly store values and usually have a fixed size. When assigning or passing primitive types, the value itself is copied.
Reference types (for example, objects, arrays, classes) store a reference (pointer) to the memory area where the data is located. When assigning or passing a reference type, the reference is copied, not the data itself, so changes through one reference are reflected in all others.
Example in JavaScript:
let a = 5; // primitive
let b = a; // value is copied
b = 10;
console.log(a); // 5 - original remains unchanged
let obj1 = {name: 'Alice'}; // reference type
let obj2 = obj1; // reference is copied
obj2.name = 'Bob';
console.log(obj1.name); // 'Bob' - object changed through another reference
Thus, the main difference is that primitives store values directly, while reference types store addresses to data in memory.