Au sein d'un projet Typescript, outre les définitions de modules tiers, nous disposons également d'objets natifs fondamentaux appelés Objets Intégrés (Built-in Objects). Ces objets existent dans la portée globale (global) et sont basés sur les standards ECMAScript, ainsi que sur des environnements spécifiques comme le DOM.
Lors de l'installation de Typescript, les définitions de types pour ces objets intégrés sont automatiquement incluses dans votre projet, vous permettant de les utiliser sans configuration supplémentaire.
Exemples d'Objets Globaux
Tableaux (Array)
let noms: Array<string> = ["Alice", "Bob", "Charlie"];
Le type Array est défini dans les fichiers .d.ts qui représentent les types intégrés.
Dates (Date)
let dateActuelle: Date = new Date();
console.log(dateActuelle.getFullYear()); // Accès aux méthodes de l'objet Date
Expressions Régulières (RegExp)
let pattern: RegExp = /^[a-z]+$/;
console.log(pattern.test("typescript")); // Utilisation des méthodes de RegExp
Objet Math
let resultatExponentiel: number = Math.pow(5, 2); // Math est un objet statique
console.log(resultatExponentiel);
Objets DOM et BOM
Pour l'interaction avec le navigateur, Typescript intègre les standards des modèles objet : le DOM (Document Object Model) et le BOM (Browser Object Model).
let elementTitre: HTMLHeadingElement | null = document.querySelector("h1");
let images: NodeListOf<HTMLImageElement> = document.querySelectorAll("img");
window.addEventListener('scroll', (event: Event) => {
console.log("Fenêtre défilée");
});
Bibliothèque Standard Typescript
La bibliothèque standard de Typescript cnotient de nombreux fichiers .d.ts couvrant les spécifications JavaScript, depuis ES2015 jusqu'aux versions les plus récentes. Cela garantit que vous pouvez utiliser les fonctionnalités JavaScript les plus récentes dans votre environnement Typescript.
Types Utilitaires (Utility Types)
Typescript met à disposition des types auxiliaires fonctionnels, connus sous le nom de Types Utilitaires (Utility Types). Ils simlpifient et améliorent la manipulation des types.
Partial<T>
Partial<T> rend toutes les propriétés d'un type donné optionnellse.
interface ConfigurationServeur {
port: number;
adresseIP: string;
timeout?: number;
}
type ConfigurationPartielle = Partial<ConfigurationServeur>;
let configMinimale: ConfigurationPartielle = {
port: 8080
}; // Seules les propriétés nécessaires sont fournies
Omit<T, K>
Omit<T, K> crée un nouveau type en omettant certaines propriétés spécifiées (K) du type original (T).
type InfoSansIP = Omit<ConfigurationServeur, "adresseIP">;
let configSansAdresse: InfoSansIP = {
port: 3000,
timeout: 5000
}; // La propriété 'adresseIP' est absente
Ces types utilitaires sont définis dans le fichier lib.es5.d.ts et sont directement utilisables dans votre environnement de développement Typescript.