Back to Basics : TypeScript et pourquoi éviter ces types

Back to Basics : TypeScript et pourquoi éviter ces types

Si vous utilisez TypeScript, il est important d'éviter les types non-primitifs tels que Number, String, Boolean, Object et Symbol.

Ces types réfèrent tous à des types non-primitifs, ce qui peut causer des problèmes de performance et de vérifications d'égalité.

A la place, il est préférable d'utiliser les types primitifs correspondants : number, string, boolean, object et symbol.

let textToCheck: String = 'texte';
console.log(typeof textToCheck); // 'string'
console.log(textToCheck === 'texte'); // true

textToCheck = new String('texte');
console.log(typeof textToCheck); // 'object'
console.log(textToCheck === 'texte'); // false

Dans cet exemple, le premier test d'égalité renvoie true, car textToCheck est défini comme un type string primitif.

Cependant, lorsque textToCheck est réaffecté à un objet String non-primitif créé à l'aide de la syntaxe new String(), renvoie false, car les objets String ont des références différentes, même s'ils contiennent la même valeur.

Il y a également une partie de performance à considérer.
Pour en savoir plus sur les performances de JavaScript, je vous recommande de lire cet article de Mozilla : mozilla qui fait une comparaison de performance entre une chaîne littérale et sa version objet en JavaScript.

C'est tout, faites-en bon usage !