Bird
Raised Fist0
Typescriptprogramming~5 mins

What types exist only at compile time in Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are types that exist only at compile time in TypeScript?
These are types used by the TypeScript compiler to check code correctness but do not exist in the JavaScript output. They help catch errors before running the code.
Click to reveal answer
beginner
Do TypeScript interfaces exist in the compiled JavaScript code?
No, interfaces are removed during compilation. They only help with type checking while writing code and do not produce any JavaScript code.
Click to reveal answer
beginner
What happens to TypeScript type aliases after compilation?
Type aliases are used only at compile time for type checking and are erased in the compiled JavaScript, so they do not exist at runtime.
Click to reveal answer
intermediate
Are enums in TypeScript compile-time only types?
No, enums generate JavaScript code and exist at runtime. Only types, interfaces, and generics are compile-time only.
Click to reveal answer
intermediate
What is the difference between types/interfaces and classes in TypeScript regarding runtime?
Types and interfaces exist only at compile time and are erased after compilation. Classes produce JavaScript code and exist at runtime.
Click to reveal answer
Which TypeScript construct exists only at compile time?
AClass
BEnum
CInterface
DFunction
What happens to type aliases after TypeScript compilation?
AThey are removed and do not exist at runtime
BThey become JavaScript variables
CThey become functions
DThey become classes
Which of these exists at runtime in JavaScript after compiling TypeScript?
AType alias
BEnum
CInterface
DType parameter
Are TypeScript generics present in the compiled JavaScript code?
AYes, as functions
BYes, as objects
CYes, as classes
DNo, they are compile-time only
Which statement is true about TypeScript interfaces?
AThey exist only at compile time
BThey become JavaScript objects
CThey compile to JavaScript classes
DThey are runtime types
Explain which TypeScript types exist only at compile time and why.
Think about what TypeScript removes when it creates JavaScript.
You got /5 concepts.
    Describe the difference between TypeScript types/interfaces and classes regarding runtime presence.
    Consider what code actually runs in the browser or Node.js.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following TypeScript types exist only at compile time and do not produce any JavaScript code?
      easy
      A. Functions and variables
      B. Classes and enums
      C. Interfaces and type aliases
      D. Objects and arrays

      Solution

      1. Step 1: Understand TypeScript compile-time types

        Interfaces and type aliases are used only to check types during compilation and do not exist in the final JavaScript.
      2. Step 2: Identify runtime constructs

        Classes, enums, functions, variables, objects, and arrays exist in the JavaScript output and run at runtime.
      3. Final Answer:

        Interfaces and type aliases -> Option C
      4. Quick Check:

        Compile-time only types = Interfaces, type aliases [OK]
      Hint: Remember: interfaces and types vanish after compiling [OK]
      Common Mistakes:
      • Thinking classes are compile-time only
      • Confusing enums with type aliases
      • Assuming variables are compile-time types
      2. Which syntax correctly declares a type alias that exists only at compile time in TypeScript?
      easy
      A. type User = { name: string; age: number };
      B. const User = { name: 'Alice', age: 30 };
      C. class User { name: string; age: number; }
      D. enum User { Name, Age }

      Solution

      1. Step 1: Identify type alias syntax

        Using type User = { ... } declares a type alias that exists only during compilation.
      2. Step 2: Differentiate from runtime declarations

        Const objects, classes, and enums produce JavaScript code and exist at runtime.
      3. Final Answer:

        type User = { name: string; age: number }; -> Option A
      4. Quick Check:

        Type alias syntax = type ... = ... [OK]
      Hint: Type aliases start with 'type' keyword [OK]
      Common Mistakes:
      • Using const or class instead of type alias
      • Confusing enums with types
      • Missing semicolon in type alias
      3. What will be the output of the following TypeScript code when compiled and run in JavaScript?
      interface Person { name: string; age: number; }
      const p: Person = { name: 'Bob', age: 25 };
      console.log(typeof Person);
      medium
      A. "undefined"
      B. "object"
      C. "function"
      D. "string"

      Solution

      1. Step 1: Understand interface removal at compile time

        Interfaces do not exist in JavaScript output, so Person is not defined at runtime.
      2. Step 2: Evaluate typeof on undefined identifier

        Using typeof Person when Person is not defined returns "undefined" as a string.
      3. Final Answer:

        "undefined" -> Option A
      4. Quick Check:

        Interfaces vanish, typeof interface = "undefined" [OK]
      Hint: Interfaces disappear; typeof interface is undefined [OK]
      Common Mistakes:
      • Expecting 'object' because of interface
      • Thinking interface is a function
      • Confusing interface with class
      4. Identify the error in this TypeScript code snippet:
      type Animal = { species: string };
      console.log(Animal);
      medium
      A. Missing semicolon after type declaration
      B. Animal should be declared as an interface
      C. Type alias syntax is incorrect
      D. Animal is not defined at runtime, so console.log causes an error

      Solution

      1. Step 1: Recognize type alias compile-time only nature

        Type aliases do not exist in JavaScript, so Animal is not a runtime value.
      2. Step 2: Understand console.log usage

        Trying to log Animal causes a runtime error because it is undefined in JavaScript.
      3. Final Answer:

        Animal is not defined at runtime, so console.log causes an error -> Option D
      4. Quick Check:

        Logging type alias = runtime error [OK]
      Hint: Type aliases can't be used as runtime values [OK]
      Common Mistakes:
      • Thinking type aliases exist at runtime
      • Ignoring runtime vs compile-time difference
      • Assuming missing semicolon causes error
      5. You want to create a function that accepts only objects matching a specific shape but does not add any runtime overhead. Which TypeScript feature should you use?
      hard
      A. Use a type alias and create a runtime object
      B. Use an interface to define the object shape
      C. Use a class to define the object shape
      D. Use an enum to define the object shape

      Solution

      1. Step 1: Understand compile-time type checking

        Interfaces define object shapes only at compile time and do not generate JavaScript code, so no runtime overhead.
      2. Step 2: Compare with other options

        Classes and enums generate runtime code; type aliases do not create runtime objects unless explicitly instantiated.
      3. Final Answer:

        Use an interface to define the object shape -> Option B
      4. Quick Check:

        Interfaces = compile-time only, no runtime overhead [OK]
      Hint: Interfaces check shape without runtime cost [OK]
      Common Mistakes:
      • Using classes which add runtime code
      • Confusing enums with object shapes
      • Thinking type aliases create runtime objects
      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