Pourquoi vous devriez utiliser TypeScript<span class="wtr-time-wrap after-title"><span class="wtr-time-number">9</span> min read</span>

Pourquoi vous devriez utiliser TypeScript9 min read

TypeScript est un langage de programmation orientée objet crée et maintenu par Microsoft. C’est un superset de Javascript, c’est à dire qu’il contient tout les éléments de ce langage.

Typescript va être automatiquement compilé en Javascript avant exécution. Autrement dit, les site web ne feront aucune différence entre du code typescript et du code javascript classique.

Ce langage utilise la programmation orientée objet comme système principal. On peux définir des héritages, des méthodes privées etc… On as là un vrai système de langage typé comme le Java ou le C++

L’histoire de TypeScript

Typescript as été démarré en 2010. C’est un projet relativement vieux qui as été sorti en 2012. A cette époque, Typescript était relativement inconnu, la majorité des logiciels ne le gérait pas, c’était un langage difficile à utiliser.

Année après année, la popularité de TypeScript as augmentée. Aujourd’hui, c’est un langage très populaire utilisé dans de grands projets Javascript.

De grandes entreprises utilisent Typescript. C’est un langage qui facilite le développement de grandes applications.

Pourquoi utiliser TypeScript ?

Voyons maintenant pourquoi utiliser TypeScript dans vos projets :

  • TypeScript simplifie le code Javascript, il le rends plus simple à lire, écrire et modifier.
  • TypeScript est open source
  • TypeScript propose des outils pour améliorer votre capacité de développement.
  • TypeScript améliore énormément les fonctionnalités de base de Javascript
  • TypeScript vous donne accès à toute la syntaxe de l’ES6 en le compilant vers l’es5 pour rendre le code disponible sur des vieilles versions
  • TypeScript est un langage à typage statique. C’est donc un bon moyen d’éviter des bugs lors de la création de code
  • Les systèmes de Types sont puissants et précis
  • TypeScript utilise la syntaxe du javascript
  • Lorsque vous écrivez du TypeScript, vous récupérerez du code Javascript parfaitement utilisable
  • TypeScript vous fera gagner beaucoup de temps

Les fonctionnalités de TypeScript

Nous allons maintenant voir les fonctionnalités que propose TypeScript. Il en existe des centaines mais je vais citer les principales qui sont systématiquement utilisées par les développeurs.

La programmation orientée objet

Typescript propose des fonctionnalités de programmation orientée objet très avancées. Ces fonctionnalités sont relativement indentique à celles présentes dans des langages comme le Java ou le C++

On peux utiliser le typage, les méthodes privées et public Globalement, on as là un langage de programmation orientée objet extrêmement complet.

class Personnage{
    private prenom : string;
    age : number;
    force : number;
    passions : Array<any>;

    constructor(prenom : string, age : number, force : number, passions : Array<any>){
        this.prenom = prenom;
        this.age = age;
        this.force = force;
        this.passions = passions;
    }
    public presentation(){
        console.log('Salut je suis ' + this.prenom)
    }
    
    public setPrenom(prenom : string){
        this.prenom = prenom;
    }
    
}

const Michel = new Personnage('Gaïlen', 20, 100, ['Programmation', 'Jeux vidéos'])

Ici, on utilise le typage statique pour définir des attributs et des arguments de fonctions. Comme vous pouvez le voir, on as ici un langage de programmation orientée objet beaucoup plus avancé.

On utilise les mots clé public et privé pour gérer les accès dans la classe. On peux faire tout ce qu’un langage de programmation bas niveau propose.

Les intefaces, l’héritage et les méthodes d’accès et de modifications

Typescript gère toute ces fonctionnalités. Nous allons voir comment les utiliser dans du code grâce à quelques exemples concrets.

Les interfaces permettent de créer un objet ayant pour objectif de modifier les attributs d’une classe.

L’héritage permets de créer une classe se basant sur une classe mère

Les accès sont public et privés. Ils permettent de définir le contrôle qu’as l’utilisateur sur le code.

Les interfaces

interface Personne{
    presentation() : void;
    prenom : string;
    age : number;
    passions : Array<any>;
}

class Personnage implements Personne{
    prenom : string;
    age : number;
    passions : Array<any>;
    constructor(prenom : string, age : number, passions : array){
        this.prenom = prenom;
        this.age = age;
        this.passions = passions;
    }
    presentation(){
        console.log('Salut je suis ' + this.prenom)
    }
}

Les setters et getter

En programmation orientée objet, les développeurs aiment créer des fonctions visant à modifier une propriété. Ils ne veulent pas que les développeurs utilisant la classe jouent avec les propriétés de manière dangereuse.

Ils créent donc des méthodes de classe permettant d’accéder aux propriétés / les modifier :

class Personnage {
    private prenom : string;
    age : number;
    passions : Array<any>;
    constructor(prenom : string, age : number, passions : Array<any>){
        this.prenom = prenom;
        this.age = age;
        this.passions = passions;
    }
    presentation(){
        console.log('Salut je suis ' + this.prenom)
    }
    getPrenom() : string {
        return this.prenom;
    }
    setPrenom(prenom : string) : string {
        this.prenom = prenom;
        return this.prenom;
    }
}

Ici, la propriété prénom est private. C’est à dire qu’elle n’es pas accessible à l’extérieur de la classe. Il faudra utiliser les setters et les getters pour l’utiliser.

L’héritage

class Personnage {
    private prenom : string;
    age : number;
    passions : Array<any>;
    constructor(prenom : string, age : number, passions : Array<any>){
        this.prenom = prenom;
        this.age = age;
        this.passions = passions;
    }
    presentation(){
        console.log('Salut je suis ' + this.prenom)
    }
    getPrenom() : string {
        return this.prenom;
    }
    setPrenom(prenom : string) : string {
        this.prenom = prenom;
        return this.prenom;
    }
}

class Guerrier extends Personnage {
    force : number;
    agilite : number;
    clan : string;
    constructor(prenom : string, age : number, passions : Array<any>){
        super(prenom, age, passions)
        
    }
}

Ici on crée une nouvelle classe guerrier, on la fait hériter de personnage. Elle récupère donc toute ses méthodes et attributs.

C’est une solution qui permets de créer une classe mère et de dériver plusieurs classe filles pour différents besoins.

Le typage statique

TypeScript propose un système de typage. Il est possible de définir le type des objets contenu dans les variables, les fonctions et les classes.

On peux aussi spécifier ce que la fonction va retourner.

Si vous essayez d’assigner une valeur ne correspondant pas au type de la variable, le code va vous renvoyer une erreur.

Voici quelques exemples :

let age : number = 18;
age = '18 ans' // erreur , mauvais type

function carre(nbr : number) : number{ // on precise le type de retour 
    return nbr * nbr // le type es valide, pas d'erreur
}

function sansRetour() : void {
    console.log('Fait des trucs')
}

La compilation et la vérification d’erreurs

Lors de la compilation c’est à dire de la transformation du code typescript en code Javascript, TS va vérifier les erreurs, le typage et la syntaxe.

Si il repère des erreurs dans la logique du programme, par exemple un objet assigné à un autre type de variable, il va renvoyer un erreur et stopper la compilation.

Mois de code que Javascript

TypeScript permets de réduire le nombre de lignes de code comparé à Javascript. Sa syntaxe OOP et ses fonctionnalités comme les interfaces permettent de réduire considérablement le nombre de lignes de code

La compatibilité

Javascript tourne sous plusieurs versions. Aujourd’hui une bonne majorité des navigateurs gèrent l’es6 mais il y a encore des exceptions.

TypeScript va tout compiler dans les veilles versions pour assurer une compatibilité parfaite. Votre code reste simple à écrire mais n’importe qui peut l’utiliser.

Une grande majorité des librairies Javascript sont compatibles directement avec TypeScript. De toute façon, vous pouvez toujours utiliser des fonctions et des classes JS dans du typescript.

Comme je l’ai déjà dit, tout le code que vous tapez en TypeScript sera transformé en Javascript pure. C’est juste un langage qui permets de faciliter le développement et de réduire les erreurs.

L’utilisation avec Node JS

Sachez qu’il est possible d’utiliser TypeScript avec Node JS. Je l’utilise tout les jours pour mes projets pro Node JS backend.

Les modules

TypeScript permets d’utiliser les modules, ils fonctionnent un peu comme les namespace. On place plusieurs fonctions / classes / variables dans un objet qui va être exporté et accédé.

module JeuxVideo {
    export class Personnage{
        constructor() {
            
        }
    }
    export class Guerrier{
        
    }
    export let nombreDePersonnages : number = 0;
    export function augmenterPersonnages() : void {
        this.nombreDePersonnages += 1;
    }
}

const monPersonnage = new JeuxVideo.Personnage();

Il est possible de garder des attributs privés comme dans les classes. Pour les exporter et donc permettre leur utilisation à l’extérieur du module, il suffit d’ajouter export devant.

Les fonctionnalités de l’ES6

TypeScript supporte les fonctionnalités de l’ES6 à 100% Il est possible d’utiliser la déstructuration, les fonctions fléchées, les méthodes d’array etc…

const maFonction = () => {
    console.log('Une fonction fléchée')
}

La réduction des bugs

TypeScript gère beaucoup mieux les bugs que Javascript grâce à sa compilation d’avant exécution. Vous allez voir à l’avance si il y a des bugs de types, de fonctions etc…

C’est un excellent langage pour accélérer la phase de debugging. Vous allez avoir beaucoup plus d’informations sur vos bugs, et beaucoup plus rapidement.

L’utilisation dans des frameworks populaires

TypeScript est utilisé dans de grands projets profesionnel. A tel point que de grands frameworks Javascript se basent sur TypeScript pour fonctionner.

Angular par exemple utilise TypeScript à 100%. Ce système permets de réduire les bugs et d’améliorer grandement le temps et la facilité de développement.

En conclusion

Il y a des centaines de raisons qui devraient vous pousser à utiliser TypeScript. En tant que développeur spécialisé en Javascript backend et frontend, sachez que j’utilise TypeScript pour tout mes projets Node JS

Je n’en ai pas beaucoup parlé mais TypeScript est 100% compatible avec Node JS. Ce langage supporte toutes les implémentations du Javascript

Pourquoi utiliser TypeScript ?

TypeScript est un langage de programmation améliorant les fonctionnalités de Javascript. Il aide à concevoir des programmes plus rapidement et il réduit le nombre d’erreurs dans votre code

Si cet article vous as plu, vous pouvez vous abonner à ma newsletter. Vous recevrez en prime un livre gratuit pour bien débuter la programmation !

Vous abonner à notre newsletter

* champ requis

Si vous avez des questions / remarques, n’hésitez pas à poster un commentaire, je vous répondrais avec plaisir !

Laisser un commentaire

Fermer le menu
×
×

Panier