TypeScript
8 - Les objets

Les objets

La structure pour définir un objet est la suivante :

// Définition de l'énumération FavoriteLanguage
enum FavoriteLanguage {
    JS = "JS",
    PHP = "PHP",
    JAVA = "JAVA"
}
 
// Définition du type User avec l'énumération FavoriteLanguage pour la propriété favorite
let user: {
    firstName: string,
    isFrontEnd: boolean,
    beginYear: number,
    favorite: FavoriteLanguage
} = {
    firstName: "Alex",
    isFrontEnd: true,
    beginYear: 2016,
    favorite: FavoriteLanguage.JS  // Utilisation de l'énumération
};
 
console.log(user); // Affiche les informations de l'utilisateur
 

Propriétés optionnelles

Il est possible de déclarer des propriétés optionnelles dans un objet en ajoutant un ? après le nom de la propriété.

let user: {
    firstName: string,
    isFrontEnd: boolean,
    beginYear: number,
    favorite: FavoriteLanguage
    website?: string,
} = {
    firstName: "Alex",
    isFrontEnd: true,
    beginYear: 2016,
    favorite: FavoriteLanguage.JS,
    website: "https://www.alexzerah.com"
 
};

Type objets spécifiques

Les objets natifs en JS comme Date peuvent être typés de la manière suivante :

let today: Date = new Date();
today.toUpperCase(); // Error: Property 'toUpperCase' does not exist on type 'Date'.
console.log(today);

On récuperera l'autocompletion

Date