Bird
Raised Fist0
Typescriptprogramming~5 mins

Default parameters with types in Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a default parameter in TypeScript?
A default parameter is a function parameter that has a default value assigned. If the caller does not provide a value, the default is used.
Click to reveal answer
beginner
How do you specify a type for a default parameter in TypeScript?
You write the parameter name, then a colon, then the type, followed by an equals sign and the default value. Example: <code>function greet(name: string = "Guest")</code>
Click to reveal answer
intermediate
What happens if you call a function with a default parameter but pass undefined explicitly?
The default value is used because undefined triggers the default parameter.
Click to reveal answer
beginner
Can default parameters be of any type in TypeScript?
Yes, default parameters can be any valid TypeScript type, including primitives, objects, arrays, or even functions.
Click to reveal answer
beginner
Show a simple function with a typed default parameter and explain its parts.
Example: <code>function multiply(x: number, y: number = 2): number { return x * y; }</code><br>Here, <code>y</code> is a number with a default value 2. If <code>y</code> is not passed, it uses 2. The function returns a number.
Click to reveal answer
What is the correct way to write a default parameter with type in TypeScript?
Afunction foo(bar = string "hello")
Bfunction foo(bar: "hello" = string)
Cfunction foo(bar: string = "hello")
Dfunction foo(bar string = "hello")
If a function parameter has a default value, what happens when you call the function without that argument?
AThe parameter is undefined.
BThe default value is used.
CAn error is thrown.
DThe function ignores the parameter.
What type of value triggers the use of a default parameter when passed explicitly?
Anull
Bfalse
C0
Dundefined
Can you have multiple default parameters in a TypeScript function?
AYes, any number of parameters can have defaults.
BNo, only one default parameter is allowed.
CYes, but only if they are at the end.
DNo, default parameters are not supported.
What is the return type of this function? function add(a: number, b: number = 5) { return a + b; }
Anumber
Bstring
Cvoid
Dany
Explain how to declare a function parameter with a default value and a type in TypeScript.
Think about the order: name, colon, type, equals, value.
You got /4 concepts.
    Describe what happens when a function with default parameters is called with missing or undefined arguments.
    Consider both missing and explicitly undefined arguments.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What is the main purpose of default parameters in TypeScript functions?

      easy
      A. To provide fallback values when arguments are missing
      B. To enforce strict typing on function return values
      C. To declare variables inside functions
      D. To create anonymous functions

      Solution

      1. Step 1: Understand default parameters

        Default parameters give a value to a function argument if no value is passed.
      2. Step 2: Identify the purpose

        This helps avoid errors when arguments are missing by providing fallback values.
      3. Final Answer:

        To provide fallback values when arguments are missing -> Option A
      4. Quick Check:

        Default parameters = fallback values [OK]
      Hint: Default parameters fill missing arguments automatically [OK]
      Common Mistakes:
      • Confusing default parameters with return type enforcement
      • Thinking default parameters declare variables
      • Mixing default parameters with anonymous functions
      2.

      Which of the following is the correct syntax for a TypeScript function with a default parameter of type number?

      function multiply(x: number, y: number = 2) { return x * y; }
      easy
      A. function multiply(x: number, y = 2: number) { return x * y; }
      B. function multiply(x = 2: number, y: number) { return x * y; }
      C. function multiply(x: number, y: number = 2) { return x * y; }
      D. function multiply(x:, y: number = 2) { return x * y; }

      Solution

      1. Step 1: Check parameter type and default value syntax

        In TypeScript, the type annotation comes before the default value: param: type = default.
      2. Step 2: Verify each option

        function multiply(x: number, y: number = 2) { return x * y; } correctly uses y: number = 2. Others have syntax errors or wrong order.
      3. Final Answer:

        function multiply(x: number, y: number = 2) { return x * y; } -> Option C
      4. Quick Check:

        Type before default value = correct syntax [OK]
      Hint: Type annotation before default value: param: type = value [OK]
      Common Mistakes:
      • Placing default value before type annotation
      • Omitting type annotation on default parameter
      • Assigning default to wrong parameter
      3.

      What is the output of the following TypeScript code?

      function greet(name: string = "Guest") {
        return `Hello, ${name}!`;
      }
      
      console.log(greet());
      console.log(greet("Alice"));
      medium
      A. Hello, undefined!\nHello, Alice!
      B. Hello, Guest!\nHello, Alice!
      C. Hello, !\nHello, Alice!
      D. Error: Missing argument for name

      Solution

      1. Step 1: Analyze default parameter usage

        Calling greet() without argument uses default "Guest".
      2. Step 2: Check outputs for both calls

        First call prints "Hello, Guest!"; second call prints "Hello, Alice!".
      3. Final Answer:

        Hello, Guest!\nHello, Alice! -> Option B
      4. Quick Check:

        Default parameter used when argument missing [OK]
      Hint: Default parameter fills missing argument in function call [OK]
      Common Mistakes:
      • Expecting undefined instead of default value
      • Thinking missing argument causes error
      • Ignoring template literal output format
      4.

      Identify the error in this TypeScript function and choose the correct fix:

      function calculateArea(width: number = 5, height: number) {
        return width * height;
      }
      medium
      A. Move the parameter with default value to the end: function calculateArea(height: number, width: number = 5) {...}
      B. Remove the default value from width: function calculateArea(width: number, height: number) {...}
      C. Add a default value to height: function calculateArea(width: number = 5, height: number = 10) {...}
      D. No error; function is correct as is

      Solution

      1. Step 1: Understand parameter order rules

        In TypeScript, parameters with default values must come after parameters without defaults.
      2. Step 2: Fix parameter order

        Moving width with default to the end fixes the error.
      3. Final Answer:

        Move the parameter with default value to the end: function calculateArea(height: number, width: number = 5) {...} -> Option A
      4. Quick Check:

        Default parameters must be last [OK]
      Hint: Put default parameters after required ones [OK]
      Common Mistakes:
      • Placing default parameters before required ones
      • Ignoring TypeScript parameter order rules
      • Assuming no error when order is wrong
      5.

      Consider this function that merges two objects with default parameters:

      function mergeOptions(options: { verbose?: boolean } = { verbose: false }, defaults: { verbose: boolean } = { verbose: true }) {
        return { ...defaults, ...options };
      }
      
      console.log(mergeOptions());
      console.log(mergeOptions({ verbose: true }));

      What is the output of the two console.log calls?

      hard
      A. Error due to conflicting default parameters
      B. { verbose: true }\n{ verbose: true }
      C. { verbose: true }\n{ verbose: false }
      D. { verbose: false }\n{ verbose: true }

      Solution

      1. Step 1: Understand default parameter values

        Both options and defaults have default objects with verbose flags.
      2. Step 2: Analyze object merging

        Using spread, { ...defaults, ...options } merges with options overriding defaults.
      3. Step 3: Evaluate calls

        First call uses defaults: options = { verbose: false }, defaults = { verbose: true }, merged result is { verbose: false } because options overwrites defaults.
      4. Step 4: Check second call

        Second call passes { verbose: true } as options, so merged result is { verbose: true }.
      5. Final Answer:

        { verbose: false }\n{ verbose: true } -> Option D
      6. Quick Check:

        Options override defaults in merge [OK]
      Hint: Spread merges with later objects overriding earlier ones [OK]
      Common Mistakes:
      • Confusing which object overrides which in spread
      • Assuming default parameters merge automatically
      • Ignoring optional property in type
      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