Bird
Raised Fist0
Typescriptprogramming~5 mins

Parameters type in Typescript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Parameters type
O(n)
Understanding Time Complexity

We want to see how the time to run a function changes when we use different types of parameters.

How does the input type affect the work the function does?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


function sumNumbers(numbers: number[]): number {
  let total = 0;
  for (const num of numbers) {
    total += num;
  }
  return total;
}

const values = [1, 2, 3, 4, 5];
sumNumbers(values);
    

This function adds up all numbers in an array and returns the total.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through each number in the array.
  • How many times: Once for every number in the input array.
How Execution Grows With Input

As the array gets bigger, the function does more additions, one for each number.

Input Size (n)Approx. Operations
1010 additions
100100 additions
10001000 additions

Pattern observation: The work grows directly with the number of items.

Final Time Complexity

Time Complexity: O(n)

This means the time to finish grows in a straight line with the input size.

Common Mistake

[X] Wrong: "Changing the parameter type to a single number instead of an array will keep the same time complexity."

[OK] Correct: A single number means no loop is needed, so the time does not grow with input size anymore.

Interview Connect

Understanding how input types affect time helps you explain your code clearly and shows you think about efficiency.

Self-Check

"What if the parameter was a nested array of numbers? How would the time complexity change?"

Practice

(1/5)
1. What does specifying a parameter type in a TypeScript function do?
function greet(name: string) {}
easy
A. It tells the function what type of value to expect for that parameter.
B. It changes the return type of the function automatically.
C. It makes the parameter optional.
D. It converts the parameter to a string.

Solution

  1. Step 1: Understand parameter type declaration

    In TypeScript, writing name: string means the function expects a string value for name.
  2. Step 2: Effect of parameter type

    This helps catch errors if a different type is passed and makes the code clearer.
  3. Final Answer:

    It tells the function what type of value to expect for that parameter. -> Option A
  4. Quick Check:

    Parameter type = expected value type [OK]
Hint: Parameter types define expected input data [OK]
Common Mistakes:
  • Thinking parameter type changes return type
  • Assuming parameter becomes optional automatically
  • Believing parameter type converts data
2. Which of the following is the correct way to declare a function parameter of type number in TypeScript?
easy
A. function add(x number) {}
B. function add(x: number) {}
C. function add(number x) {}
D. function add(x = number) {}

Solution

  1. Step 1: Check TypeScript parameter syntax

    The correct syntax uses a colon between the parameter name and its type: x: number.
  2. Step 2: Identify correct option

    function add(x: number) {} matches this syntax exactly, others have syntax errors.
  3. Final Answer:

    function add(x: number) {} -> Option B
  4. Quick Check:

    Parameter syntax = name: type [OK]
Hint: Use colon between parameter and type [OK]
Common Mistakes:
  • Omitting colon between name and type
  • Placing type before parameter name
  • Using equals sign instead of colon
3. What will be the output of this TypeScript code?
function multiply(a: number, b: number) {
  return a * b;
}
console.log(multiply(3, 4));
medium
A. 12
B. 34
C. undefined
D. Error: Type mismatch

Solution

  1. Step 1: Understand function parameters and operation

    The function takes two numbers and returns their product.
  2. Step 2: Calculate the output

    Calling multiply(3, 4) returns 3 * 4 = 12.
  3. Final Answer:

    12 -> Option A
  4. Quick Check:

    3 * 4 = 12 [OK]
Hint: Multiply parameters as numbers to get output [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Expecting error due to types
  • Confusing return value with parameter list
4. Identify the error in this TypeScript function declaration:
function greet(name string) {
  console.log('Hello, ' + name);
}
medium
A. Parameter name cannot be 'name'.
B. Parameter type should be after the function name.
C. Function must return a value.
D. Missing colon between parameter name and type.

Solution

  1. Step 1: Check parameter syntax

    The parameter declaration name string is missing a colon between name and string.
  2. Step 2: Correct syntax

    It should be name: string to be valid TypeScript.
  3. Final Answer:

    Missing colon between parameter name and type. -> Option D
  4. Quick Check:

    Parameter syntax requires colon [OK]
Hint: Always put colon between parameter and type [OK]
Common Mistakes:
  • Omitting colon in parameter type
  • Thinking parameter type goes after function name
  • Assuming function must return value
5. Given this function, which call will cause a TypeScript error due to parameter types?
function setFlag(flag: boolean) {
  return flag ? 'ON' : 'OFF';
}
hard
A. setFlag(true)
B. setFlag(false)
C. setFlag('true')
D. setFlag(Boolean(0))

Solution

  1. Step 1: Check parameter type expected

    The function expects a boolean parameter.
  2. Step 2: Analyze each call

    Calls with true, false, and Boolean(0) are booleans. Passing 'true' (a string) causes a type error.
  3. Final Answer:

    setFlag('true') -> Option C
  4. Quick Check:

    String passed instead of boolean causes error [OK]
Hint: Pass correct type, not string for boolean parameters [OK]
Common Mistakes:
  • Passing string instead of boolean
  • Confusing Boolean() constructor with string
  • Assuming any truthy value is allowed
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard