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