Bird
Raised Fist0
Typescriptprogramming~10 mins

Nullish coalescing with types in Typescript - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign a default value using nullish coalescing.

Typescript
const name = userInput [1] "Guest";
Drag options to blanks, or click blank then click option'
A??
B&&
C||
D!
Attempts:
3 left
💡 Hint
Common Mistakes
Using || instead of ??. It treats empty strings or 0 as falsey, which is different.
2fill in blank
medium

Complete the code to safely assign a number or default using nullish coalescing.

Typescript
const count: number = inputCount [1] 10;
Drag options to blanks, or click blank then click option'
A??
B||
C&&
D!
Attempts:
3 left
💡 Hint
Common Mistakes
Using || causes 0 to be replaced by 10, which is incorrect.
3fill in blank
hard

Fix the error in the code by choosing the correct nullish coalescing operator.

Typescript
const result = value [1] fallback;
Drag options to blanks, or click blank then click option'
A|
B||
C&&
D??
Attempts:
3 left
💡 Hint
Common Mistakes
Using || causes unintended fallback for falsey but valid values.
4fill in blank
hard

Fill both blanks to create a typed variable with nullish coalescing default.

Typescript
const message: string = inputMessage [1] [2];
Drag options to blanks, or click blank then click option'
A??
B"No message"
C""
D||
Attempts:
3 left
💡 Hint
Common Mistakes
Using || instead of ??.
Using empty string as default which may be confusing.
5fill in blank
hard

Fill all three blanks to create a typed variable with nullish coalescing and a fallback number.

Typescript
const total: number = (inputTotal [1] [2]) [3] 100;
Drag options to blanks, or click blank then click option'
A??
Bnull
D||
Attempts:
3 left
💡 Hint
Common Mistakes
Using ?? in place of || in the first blank causes no fallback.
Using || in the last blank causes fallback on falsey values.

Practice

(1/5)
1.

What does the nullish coalescing operator ?? do in TypeScript?

easy
A. Throws an error if the left value is null or undefined.
B. Returns the right value if the left value is any falsy value like 0 or empty string.
C. Always returns the left value regardless of its content.
D. Returns the right value only if the left value is null or undefined.

Solution

  1. Step 1: Understand nullish coalescing behavior

    The operator ?? checks if the left value is null or undefined.
  2. Step 2: Determine when right value is returned

    If the left value is null or undefined, it returns the right value; otherwise, it returns the left value.
  3. Final Answer:

    Returns the right value only if the left value is null or undefined. -> Option D
  4. Quick Check:

    Null or undefined triggers right value [OK]
Hint: Only null or undefined triggers right side [OK]
Common Mistakes:
  • Confusing with || operator that checks all falsy values
  • Thinking 0 or empty string triggers right value
  • Assuming it throws errors on null or undefined
2.

Which of the following is the correct syntax to use nullish coalescing in TypeScript?

const value = input ?? 'default';
easy
A. const value = input ?? 'default';
B. const value = input ??= 'default';
C. const value = input || 'default';
D. const value = input ? 'default' : input;

Solution

  1. Step 1: Identify correct nullish coalescing syntax

    The operator ?? is used between two values to provide a fallback if the left is null or undefined.
  2. Step 2: Check each option

    const value = input ?? 'default';: const value = input ?? 'default'; uses ?? correctly. const value = input ? 'default' : input; uses ternary, const value = input ??= 'default'; uses nullish assignment ??=, const value = input || 'default'; uses logical OR.
  3. Final Answer:

    const value = input ?? 'default'; -> Option A
  4. Quick Check:

    Correct nullish coalescing syntax uses ?? [OK]
Hint: Look for ?? between values, not ?: or || [OK]
Common Mistakes:
  • Using || which treats 0 or empty string as false
  • Confusing with ternary operator syntax
  • Using invalid operators like ??=
3.

What is the output of this TypeScript code?

let name: string | null = "";
const displayName = name ?? "Guest";
console.log(displayName);
medium
A. "Guest"
B. null
C. "" (empty string)
D. undefined

Solution

  1. Step 1: Check the value of name

    The variable name is an empty string "", which is NOT null or undefined.
  2. Step 2: Apply nullish coalescing operator

    Since name is not null or undefined, name ?? "Guest" returns the left value, which is "" (empty string).
  3. Final Answer:

    "" (empty string) -> Option C
  4. Quick Check:

    Empty string is not nullish, so left value stays [OK]
Hint: Empty string is NOT nullish, so ?? returns left [OK]
Common Mistakes:
  • Assuming empty string triggers right side
  • Confusing ?? with || operator
  • Expecting 'Guest' instead of empty string
4.

Identify the error in this TypeScript code using nullish coalescing:

let count: number | undefined = 0;
const result = count ?? 10;
console.log(result);
medium
A. Error: nullish coalescing cannot be used with numbers
B. No error; output is 0
C. Error: count cannot be 0
D. Error: must use || instead of ??

Solution

  1. Step 1: Analyze the value of count

    The variable count is 0, which is NOT null or undefined.
  2. Step 2: Apply nullish coalescing operator

    Since count is 0 (a valid number), count ?? 10 returns 0, no error occurs.
  3. Final Answer:

    No error; output is 0 -> Option B
  4. Quick Check:

    0 is not nullish, so left value returned [OK]
Hint: 0 is valid, ?? returns left, no error [OK]
Common Mistakes:
  • Thinking 0 triggers right side fallback
  • Believing ?? cannot be used with numbers
  • Confusing ?? with || operator
5.

You have a function that accepts an optional string parameter input. You want to return input if it is not null or undefined, but if it is, return the string "No input". Which is the best way to write this using nullish coalescing?

function getInput(input?: string): string {
  // Fill in the return statement
}
hard
A. return input ?? "No input";
B. return input || "No input";
C. return input ? input : "No input";
D. return input === null || input === undefined ? "No input" : input;

Solution

  1. Step 1: Understand the requirement

    Return input if it is NOT null or undefined; otherwise, return "No input".
  2. Step 2: Choose the best nullish coalescing usage

    input ?? "No input" returns input if it is not nullish, else "No input". This is concise and clear.
  3. Final Answer:

    return input ?? "No input"; -> Option A
  4. Quick Check:

    ?? returns left unless null/undefined [OK]
Hint: Use ?? to check only null or undefined [OK]
Common Mistakes:
  • Using || which treats empty string as false
  • Using ternary unnecessarily
  • Checking null and undefined manually instead of ??
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