Bird
Raised Fist0
Typescriptprogramming~5 mins

TypeScript Strict Mode and Why It Matters - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is TypeScript strict mode?
TypeScript strict mode is a setting that makes the compiler check your code more carefully to catch more mistakes early.
Click to reveal answer
beginner
Name two benefits of using TypeScript strict mode.
1. It helps find bugs before running the code.
2. It makes your code safer and easier to understand.
Click to reveal answer
intermediate
What does the 'noImplicitAny' option do in strict mode?
It stops TypeScript from assuming a variable has type 'any' when you don't specify a type, forcing you to be explicit.
Click to reveal answer
intermediate
How does strict mode help with null and undefined values?
Strict mode includes checks that make you handle null and undefined values explicitly, reducing runtime errors.
Click to reveal answer
beginner
How do you enable strict mode in a TypeScript project?
You add "strict": true in the tsconfig.json file under the compilerOptions section.
Click to reveal answer
What happens if you enable strict mode in TypeScript?
AThe compiler checks your code more strictly for errors.
BThe code runs faster in the browser.
CYou can write JavaScript without types.
DThe compiler ignores type errors.
Which option is part of TypeScript strict mode?
AoutDir
BallowJs
CnoImplicitAny
DremoveComments
Why is handling null and undefined important in strict mode?
ATo allow variables to be any type.
BTo make the code run slower.
CTo disable type checking.
DTo avoid runtime errors caused by unexpected null or undefined values.
How do you turn on strict mode in a TypeScript project?
ASet "strict": true in tsconfig.json.
BAdd "use strict" at the top of every file.
CInstall a special strict mode package.
DUse the --no-strict flag when compiling.
What is a downside of strict mode?
AIt makes your code run slower.
BYou need to write more explicit types.
CIt disables type checking.
DIt removes support for JavaScript.
Explain what TypeScript strict mode is and why it is useful.
Think about how strict mode changes the way TypeScript checks your code.
You got /3 concepts.
    Describe how strict mode affects handling of null and undefined values in TypeScript.
    Consider what happens if you forget to check for null or undefined without strict mode.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of enabling strict mode in TypeScript?
      easy
      A. To allow JavaScript code to run without any type checking
      B. To make TypeScript run faster by skipping type checks
      C. To make TypeScript check your code more carefully and catch errors early
      D. To disable all compiler warnings and errors

      Solution

      1. Step 1: Understand what strict mode does

        Strict mode in TypeScript enables more thorough type checking to find mistakes early.
      2. Step 2: Compare options with strict mode purpose

        Only To make TypeScript check your code more carefully and catch errors early correctly describes strict mode as making TypeScript check code carefully and catch errors early.
      3. Final Answer:

        To make TypeScript check your code more carefully and catch errors early -> Option C
      4. Quick Check:

        Strict mode = careful checks [OK]
      Hint: Strict mode means more checks, fewer bugs [OK]
      Common Mistakes:
      • Thinking strict mode disables checks
      • Confusing strict mode with performance settings
      • Believing strict mode allows ignoring types
      2. Which setting in tsconfig.json enables strict mode in TypeScript?
      easy
      A. "strictCheck": true
      B. "strict": true
      C. "enableStrict": true
      D. "typeCheck": true

      Solution

      1. Step 1: Identify the correct tsconfig.json key for strict mode

        The official key to enable strict mode is "strict" set to true.
      2. Step 2: Eliminate incorrect options

        Options A, B, and C are not valid TypeScript compiler options for strict mode.
      3. Final Answer:

        "strict": true -> Option B
      4. Quick Check:

        Strict mode key = "strict" [OK]
      Hint: Look for "strict": true in tsconfig.json [OK]
      Common Mistakes:
      • Using incorrect keys like "strictCheck"
      • Confusing strict mode with other compiler options
      • Forgetting to put the key inside tsconfig.json
      3. What will happen if you run this TypeScript code with strict mode enabled?
      let name: string;
      console.log(name.length);
      medium
      A. It will cause a compile-time error because 'name' is used before being assigned
      B. It will print the length of the string
      C. It will print 'undefined'
      D. It will run without errors and print 0

      Solution

      1. Step 1: Understand variable initialization in strict mode

        With strict mode, TypeScript requires variables to be initialized before use.
      2. Step 2: Analyze the code behavior

        The variable 'name' is declared but not assigned a value before accessing 'name.length', causing a compile-time error.
      3. Final Answer:

        It will cause a compile-time error because 'name' is used before being assigned -> Option A
      4. Quick Check:

        Uninitialized variable use = error [OK]
      Hint: Uninitialized variables cause errors in strict mode [OK]
      Common Mistakes:
      • Assuming variables default to empty string
      • Thinking code runs without errors
      • Confusing runtime errors with compile-time errors
      4. Identify the error in this TypeScript code when strict mode is enabled and fix it:
      function greet(name: string | undefined) {
        console.log(name.toUpperCase());
      }
      medium
      A. Error: 'name' might be undefined; fix by checking if 'name' exists before calling toUpperCase()
      B. Error: 'toUpperCase' is not a function; fix by casting 'name' to string
      C. No error, code is correct
      D. Error: Missing return type; fix by adding ': void' to function

      Solution

      1. Step 1: Understand strict null checks

        With strict mode, TypeScript requires checking if a variable that can be undefined is actually defined before using it.
      2. Step 2: Identify the error and fix

        Calling 'toUpperCase()' on 'name' without checking if it's undefined causes an error. Fix by adding a check like 'if (name)'.
      3. Final Answer:

        Error: 'name' might be undefined; fix by checking if 'name' exists before calling toUpperCase() -> Option A
      4. Quick Check:

        Check undefined before method call [OK]
      Hint: Check for undefined before using variable methods [OK]
      Common Mistakes:
      • Ignoring possible undefined values
      • Trying to cast without checks
      • Assuming no error without strict mode
      5. You have this TypeScript code with strict mode enabled:
      interface User {
        id: number;
        name?: string;
      }
      
      function printUserName(user: User) {
        console.log(user.name.toUpperCase());
      }

      How can you fix the code to avoid errors and safely print the user's name in uppercase if it exists?
      hard
      A. Assign a default value: console.log((user.name || '').toUpperCase());
      B. Remove the question mark from 'name' in interface to make it required
      C. Use a non-null assertion: console.log(user.name!.toUpperCase());
      D. Add a check: if (user.name) console.log(user.name.toUpperCase());

      Solution

      1. Step 1: Understand optional properties and strict mode

        The 'name' property is optional, so it can be undefined. Strict mode requires checking before use.
      2. Step 2: Evaluate options to safely access 'name'

        Add a check: if (user.name) console.log(user.name.toUpperCase()); safely checks if 'name' exists before calling 'toUpperCase()', avoiding errors. Options B, C, and D have drawbacks or risks.
      3. Final Answer:

        Add a check: if (user.name) console.log(user.name.toUpperCase()); -> Option D
      4. Quick Check:

        Check optional before use = safe code [OK]
      Hint: Check optional properties before use in strict mode [OK]
      Common Mistakes:
      • Using non-null assertion without guarantee
      • Assuming optional properties are always defined
      • Removing optional marker without reason
      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