Typing des Propriétés

Typing des propriétés et des paramètres

class Customer {

    firstName: string;
    lastName: string;
    age: number;

    constructor(firstName: string, lastName: string, age: number) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
    }

}

Pour le code suivant :

new Customer('Foo', 123);

... nous obtenons l'erreur :

error TS2345: Argument of type '123' is not assignable to parameter of type 'string'.

Raccourci pour les paramètres ordonnées du constructeur

La duplication du type en paramètre du constructeur et en propriété est fastidieuse et fréquente.

TypeScript propose une syntaxe concise "Parameter Properties" pour déclarer et initialiser les propriétés en indiquant simplement la visibilité de chaque paramètre du constructeur.

class Customer {

    constructor(public firstName: string,
                public lastName: string,
                public age: number) {
    }

}

const customer = new Customer('Foo', 'BAR', 30);

console.log(customer.firstName); // Foo

Dernière mise à jour