Bird
Raised Fist0
Typescriptprogramming~5 mins

Class property declarations in Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a class property declaration in TypeScript?
A class property declaration defines a variable inside a class to hold data for each object created from that class. It sets the name and type of the property.
Click to reveal answer
beginner
How do you declare a public property named name of type string in a TypeScript class?
You write: <pre>class Person {
  public name: string;
}</pre> This means every Person object has a <code>name</code> property that holds a string.
Click to reveal answer
intermediate
What is the difference between declaring a property with and without an access modifier in TypeScript?
If you declare a property without an access modifier, it is public by default. Using private or protected changes who can access the property.
Click to reveal answer
beginner
Can you assign a default value to a class property in its declaration? Show an example.
Yes. You can assign a default value like this:<pre>class Car {
  color: string = "red";
}</pre> Every new Car object will have <code>color</code> set to "red" unless changed.
Click to reveal answer
intermediate
What happens if you declare a property but do not initialize it in the class or constructor?
The property exists but is undefined until you assign a value. TypeScript may warn if you don't initialize or mark it optional.
Click to reveal answer
Which keyword declares a property that can only be accessed inside the class?
Aprivate
Bpublic
Cprotected
Dreadonly
What is the default access level of a class property if no modifier is specified?
Aprivate
Bprotected
Cpublic
Dreadonly
How do you assign a default value to a class property in TypeScript?
AUsing an equals sign in the property declaration
BInside the constructor only
CUsing a method
DYou cannot assign default values
Which of these is a valid property declaration in TypeScript?
Aconst age: number;
Blet age: number;
Cvar age: number;
Dage: number;
What does the readonly modifier do when used with a class property?
AMakes the property private
BPrevents the property from being changed after initialization
CAllows the property to be changed anywhere
DMakes the property optional
Explain how to declare and initialize a class property with a default value in TypeScript.
Think about using an equals sign in the property line.
You got /3 concepts.
    Describe the difference between public, private, and protected class properties in TypeScript.
    Consider who can see or change the property.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the purpose of declaring properties inside a TypeScript class?
      easy
      A. To import external modules into the class
      B. To define functions that the class can use
      C. To create new classes inside the current class
      D. To store data related to each object created from the class

      Solution

      1. Step 1: Understand what class properties represent

        Class properties hold data or information specific to each object created from the class.
      2. Step 2: Differentiate properties from methods and other elements

        Functions inside classes are called methods, not properties. Properties are for storing values.
      3. Final Answer:

        To store data related to each object created from the class -> Option D
      4. Quick Check:

        Class properties = store object data [OK]
      Hint: Properties hold object data, methods hold actions [OK]
      Common Mistakes:
      • Confusing properties with methods
      • Thinking properties create new classes
      • Believing properties import modules
      2. Which of the following is the correct way to declare a class property with a type and default value in TypeScript?
      easy
      A. class Car { speed: = 0 number; }
      B. class Car { speed: number = 0; }
      C. class Car { number speed = 0; }
      D. class Car { speed = number 0; }

      Solution

      1. Step 1: Recall TypeScript property syntax

        Properties are declared as name: type = defaultValue;.
      2. Step 2: Check each option for correct syntax

        class Car { speed: number = 0; } matches the correct syntax: speed: number = 0;. Others have incorrect order or missing punctuation.
      3. Final Answer:

        class Car { speed: number = 0; } -> Option B
      4. Quick Check:

        Property syntax = name: type = value [OK]
      Hint: Use colon for type, equals for default value [OK]
      Common Mistakes:
      • Swapping type and value order
      • Missing colon between name and type
      • Using wrong punctuation
      3. What will be the output of this TypeScript code?
      class Person {
        name: string = "Alice";
        age: number = 30;
      }
      const p = new Person();
      console.log(p.name + ' is ' + p.age + ' years old');
      medium
      A. "Alice is 30 years old"
      B. "undefined is undefined years old"
      C. Error: Property 'name' does not exist
      D. "Alice is undefined years old"

      Solution

      1. Step 1: Understand property initialization

        The class Person has properties name and age initialized with "Alice" and 30 respectively.
      2. Step 2: Check the output of console.log

        Creating an object p sets these properties. The log concatenates them into the string "Alice is 30 years old".
      3. Final Answer:

        "Alice is 30 years old" -> Option A
      4. Quick Check:

        Initialized properties print correct values [OK]
      Hint: Default values print as expected when object created [OK]
      Common Mistakes:
      • Assuming properties are undefined without constructor
      • Confusing property names or types
      • Expecting runtime errors without syntax mistakes
      4. Identify the error in this TypeScript class property declaration:
      class Book {
        title string = "Unknown";
        pages: number = 100;
      }
      medium
      A. Class name should be lowercase
      B. Missing default value for 'pages' property
      C. Missing colon ':' between property name and type in 'title string = "Unknown";'
      D. Properties cannot have default values

      Solution

      1. Step 1: Check syntax of property declarations

        Property declarations require a colon ':' between the name and type, like title: string.
      2. Step 2: Identify the incorrect line

        The line title string = "Unknown"; misses the colon, causing a syntax error.
      3. Final Answer:

        Missing colon ':' between property name and type in 'title string = "Unknown";' -> Option C
      4. Quick Check:

        Property syntax requires colon ':' [OK]
      Hint: Always put ':' between property name and type [OK]
      Common Mistakes:
      • Omitting colon between name and type
      • Thinking default values are not allowed
      • Ignoring case sensitivity of class names (not an error)
      5. You want to create a TypeScript class Student with a property grades that stores an array of numbers and defaults to an empty array. Which is the correct declaration to ensure each object has its own separate array?
      hard
      A. class Student { grades: number[] = []; }
      B. class Student { static grades: number[] = []; }
      C. class Student { grades: number[]; } // no default value
      D. class Student { grades = []; }

      Solution

      1. Step 1: Understand instance vs static properties

        Instance properties belong to each object separately; static properties are shared by all objects.
      2. Step 2: Check which option creates separate arrays per object

        class Student { grades: number[] = []; } declares grades as an instance property with default empty array, so each object gets its own array.
      3. Step 3: Analyze other options

        class Student { static grades: number[] = []; } uses static, so all objects share one array (not desired). class Student { grades: number[]; } // no default value has no default, so array is undefined unless set later. class Student { grades = []; } misses type annotation explicitly, inferring any[] instead of number[].
      4. Final Answer:

        class Student { grades: number[] = []; } -> Option A
      5. Quick Check:

        Instance property with default array = separate arrays [OK]
      Hint: Use instance property with default [] for separate arrays [OK]
      Common Mistakes:
      • Using static for properties needing separate values
      • Not initializing arrays causing undefined errors
      • Omitting type annotation (less clear)
      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