Primitive data types in Javascript - Time & Space Complexity
We want to understand how fast operations on primitive data types run in JavaScript.
How does the time to work with these simple values change as we use more or bigger data?
Analyze the time complexity of the following code snippet.
const a = 5;
const b = 'hello';
const c = true;
const sum = a + 10;
const greeting = b + ' world';
const isFalse = !c;
console.log(sum, greeting, isFalse);
This code uses simple operations on primitive data types: numbers, strings, and booleans.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Simple arithmetic and string concatenation on primitive values.
- How many times: Each operation runs once, no loops or repeated traversals.
Operations on primitive types happen instantly and do not grow with input size here.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 3 |
| 100 | 3 |
| 1000 | 3 |
Pattern observation: The number of operations stays the same no matter how big the input is.
Time Complexity: O(1)
This means the time to do these operations stays constant, no matter the input size.
[X] Wrong: "String concatenation always takes longer as strings get bigger."
[OK] Correct: In JavaScript, simple concatenation of small strings is very fast and treated as a single step here; only very large strings or repeated concatenations in loops cause noticeable time growth.
Understanding that primitive operations run in constant time helps you explain why some code is fast and others slow, a key skill in coding interviews.
"What if we replaced string concatenation with joining an array of 1000 strings? How would the time complexity change?"