Function declaration in Javascript - Time & Space Complexity
When we write a function declaration, it is important to know how the time it takes to run changes as the input changes.
We want to understand how the work inside the function grows when we give it bigger inputs.
Analyze the time complexity of the following code snippet.
function greet(name) {
return `Hello, ${name}!`;
}
const message = greet('Alice');
console.log(message);
This function simply creates a greeting message using the given name.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: No loops or repeated steps inside the function.
- How many times: The function runs once per call, doing a fixed amount of work.
Since the function does a simple string creation, the work does not grow with input size in a meaningful way.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About the same small number of steps |
| 100 | Still about the same small number of steps |
| 1000 | Still about the same small number of steps |
Pattern observation: The time to run stays roughly the same no matter the input size.
Time Complexity: O(1)
This means the function takes about the same time to run no matter how big the input is.
[X] Wrong: "The function takes longer if the input string is longer because it has to process more characters."
[OK] Correct: In this case, the function just inserts the input into a template without looping over it, so the time does not grow with input length.
Understanding that simple functions without loops or recursion run in constant time helps you explain your code clearly and shows you know how to think about efficiency.
"What if we changed the function to loop over each character in the input string? How would the time complexity change?"