Bird
Raised Fist0
Typescriptprogramming~5 mins

Null and undefined types in Typescript

Choose your learning style10 modes available
Introduction

Null and undefined represent missing or empty values in TypeScript. They help us handle cases where a value might not exist yet.

When a variable might not have a value assigned yet.
When a function might return no result.
When you want to explicitly say a value is empty or missing.
When checking if a value exists before using it.
When handling optional data from users or APIs.
Syntax
Typescript
let value: null;
let value2: undefined;

let maybeNumber: number | null | undefined;

null means a variable has no value.

undefined means a variable has not been assigned a value yet.

Examples
This variable can only be null.
Typescript
let emptyValue: null = null;
This variable can only be undefined.
Typescript
let notAssigned: undefined = undefined;
This variable can hold a number, or be null, or undefined.
Typescript
let optionalNumber: number | null | undefined = null;
optionalNumber = 5;
optionalNumber = undefined;
Sample Program

This program shows how to check if a value is null, undefined, or a string, then prints the length if it is a string.

Typescript
function printLength(text: string | null | undefined) {
  if (text === null) {
    console.log('Text is null');
  } else if (text === undefined) {
    console.log('Text is undefined');
  } else {
    console.log(`Text length is ${text.length}`);
  }
}

printLength(null);
printLength(undefined);
printLength('hello');
OutputSuccess
Important Notes

Use strict equality === to check for null or undefined.

By default, null and undefined are different types in TypeScript.

You can allow variables to hold these types by using union types like string | null | undefined.

Summary

Null means a variable has no value.

Undefined means a variable has not been assigned a value yet.

Use union types to allow variables to hold null or undefined.

Practice

(1/5)
1. What does null represent in TypeScript?
easy
A. A variable that has not been declared
B. A variable that holds a number zero
C. A variable that is still loading
D. A variable that has no value assigned

Solution

  1. Step 1: Understand the meaning of null

    null means a variable explicitly has no value.
  2. Step 2: Compare with other options

    The incorrect options describe different states or values, not null.
  3. Final Answer:

    A variable that has no value assigned -> Option D
  4. Quick Check:

    null means no value [OK]
Hint: Remember: null means no value assigned [OK]
Common Mistakes:
  • Confusing null with undefined
  • Thinking null means variable is undeclared
  • Assuming null means zero or empty string
2. Which of the following is the correct way to declare a variable that can hold a string or null in TypeScript?
easy
A. let name: string | null;
B. let name: string & null;
C. let name: string or null;
D. let name: string? null;

Solution

  1. Step 1: Recall union type syntax

    In TypeScript, the pipe | is used to allow multiple types.
  2. Step 2: Check each option

    let name: string | null; uses | correctly. The other options use invalid syntax.
  3. Final Answer:

    let name: string | null; -> Option A
  4. Quick Check:

    Union types use | symbol [OK]
Hint: Use | to combine types like string | null [OK]
Common Mistakes:
  • Using & instead of | for union types
  • Writing 'or' instead of |
  • Using invalid syntax like ? null
3. What will be the output of this TypeScript code?
let value: number | undefined;
console.log(value);
medium
A. undefined
B. null
C. 0
D. Error: Variable not initialized

Solution

  1. Step 1: Understand variable initialization

    The variable value is declared but not assigned, so it defaults to undefined.
  2. Step 2: Check console.log output

    Logging value prints undefined because it has no assigned value.
  3. Final Answer:

    undefined -> Option A
  4. Quick Check:

    Unassigned variable = undefined [OK]
Hint: Uninitialized variables print undefined [OK]
Common Mistakes:
  • Expecting null instead of undefined
  • Assuming default is zero
  • Thinking it causes an error
4. Identify the error in this TypeScript code:
let age: number;
age = null;
medium
A. No error, code is correct
B. Variable age is not declared
C. Cannot assign null to a variable of type number
D. Missing semicolon after declaration

Solution

  1. Step 1: Check variable type and assignment

    age is declared as number only, so it cannot hold null.
  2. Step 2: Understand TypeScript strict null checks

    By default, null is not assignable to number unless union type includes null.
  3. Final Answer:

    Cannot assign null to a variable of type number -> Option C
  4. Quick Check:

    Assigning null to number causes error [OK]
Hint: Add | null to allow null assignment [OK]
Common Mistakes:
  • Ignoring TypeScript strict null checks
  • Thinking null is allowed by default
  • Confusing missing semicolon as error
5. How can you declare a function parameter in TypeScript that accepts either a string, null, or undefined?
hard
A. function greet(name?: string & null) { console.log(name); }
B. function greet(name: string | null | undefined) { console.log(name); }
C. function greet(name: string & null & undefined) { console.log(name); }
D. function greet(name: string | null?) { console.log(name); }

Solution

  1. Step 1: Understand union types for parameters

    To accept multiple types, use | to combine them.
  2. Step 2: Analyze each option

    function greet(name: string | null | undefined) { console.log(name); } correctly uses string | null | undefined. function greet(name: string & null & undefined) { console.log(name); } uses & which means intersection (not correct). function greet(name?: string & null) { console.log(name); } uses & which means intersection (not correct). function greet(name: string | null?) { console.log(name); } has invalid syntax.
  3. Final Answer:

    function greet(name: string | null | undefined) { console.log(name); } -> Option B
  4. Quick Check:

    Use | to allow multiple types in parameters [OK]
Hint: Use | to combine string, null, and undefined types [OK]
Common Mistakes:
  • Using & instead of | for union types
  • Confusing optional parameter with undefined union
  • Writing invalid syntax like null?
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