Web Analytics

Constructors

Beginner~18 min

Constructors initialize class instances. TypeScript's parameter properties provide a powerful shorthand for declaring and initializing properties in one step.

Parameter Properties

TypeScript's parameter properties eliminate boilerplate code:

Output
Click Run to execute your code
Best Practice: Use parameter properties for simple classes. They reduce code and improve readability.

Traditional vs Parameter Properties

Approach Lines of Code Readability
Traditional ~8 lines Verbose but explicit
Parameter Properties ~3 lines Concise and clear

Common Mistakes

1. Mixing Styles

// โœ— Confusing - mixing both styles
class User {
    email: string;
    constructor(public userName: string, email: string) {
        this.email = email;
    }
}

// โœ“ Consistent - all parameter properties
class User {
    constructor(
        public userName: string,
        public email: string
    ) {}
}

2. Forgetting Access Modifier

// โœ— Wrong - no access modifier = not a property
class User {
    constructor(userName: string) {}  // Just a parameter!
}

// โœ“ Correct - public makes it a property
class User {
    constructor(public userName: string) {}
}

Summary

  • Parameter properties reduce boilerplate
  • Add access modifier (public/private/protected) to parameters
  • Properties are automatically created and initialized
  • Use consistently within a class

What's Next?

Next: Access Modifiers for controlling visibility!