Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Développement Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

L'une des questions que l'on me pose fréquemment est la suivante : quelle est la différence entre JavaScript et Typescript ?

Voyons cela.

Depuis que vous avez commencé à coder, JavaScript (JS) fait partie de tous vos projets frontaux. Si vous êtes un peu familier avec JS, considérez TypeScript comme JS plus quelques fonctionnalités supplémentaires qui rendent votre application plus soignée et typée. TypeScript a été développé en tant que projet open-source par Microsoft afin de rendre le développement JS plus efficace et de détecter les erreurs de compilation dès le début

Dans cet article, nous aborderons certaines caractéristiques importantes de JavaScript et de TypeScript, ainsi que les différences entre les deux langages de script

Qu'est-ce que JavaScript ?

JavaScript est utilisé pour les scripts côté client. Vous pouvez créer un script sur une page HTML ou créer un fichier avec une extension .js et l'inclure dans votre fichier HTML. Un exemple courant de JavaScript dans le monde réel est la validation de la page de connexion, qui affiche une erreur lorsque votre nom d'utilisateur/mot de passe est incorrect

Écrivons un code JS simple et exécutons-le dans le navigateur

Créez un fichier example.html et ajoutez le code suivant

<script>

sentiment = 'heureux' ;

sentiment = 23 ;

</script&gt

Ce code simple déclare une variable et lui attribue la valeur happy (chaîne de caractères). Nous pouvons assigner une valeur d'un autre type (nombre) à la même variable. JavaScript ne s'en plaindrait pas et nous pouvons exécuter le code sur n'importe quel navigateur sans aucun problème. Maintenant, obtenons la valeur du sentiment de la part de l'utilisateur

Notre code HTML ressemblera à ceci

<input type = "textbox" id = "howyoufeel"&gt

et le script sera le suivant

feeling = document.getElementById("howyoufeel").value

À moins que nous ne mettions des contrôles explicites dans le script, JS acceptera n'importe quelle valeur de l'utilisateur et la transmettra. Vous pouvez donc mettre n'importe quoi comme 234, @.#$%, etc. dans la variable feeling

Caractéristiques de JavaScript

D'après ce qui précède, nous pouvons observer les caractéristiques suivantes de JavaScript

  • Langage de script faiblement typé
  • Utilisé pour les scripts côté client et côté serveur (avec node.js)
  • Flexible et dynamique
  • Pris en charge par tous les principaux navigateurs
  • Léger et interprété

Si vous souhaitez maîtriser JavaScript, consultez ce cours Udemy

Qu'est-ce que TypeScript ?

Une application réelle comporte de nombreuses validations et vérifications dynamiques. Pour de telles applications, le code JavaScript deviendra difficile à tester à un moment donné, principalement parce qu'il n'y a pas de vérification de type. Lorsque vous obtenez des valeurs de la part des utilisateurs, il est important de les obtenir correctement dès le début. C'est là que TypeScript intervient

TypeScript est fortement typé et possède un compilateur qui se plaint si vous ne définissez pas le type d' une variable

JavaScript et TypeScript sont tous deux conformes aux spécifications ECMAScript pour un langage de script. TypeScript peut exécuter tout le code JavaScript et prend en charge toutes ses bibliothèques - c'est pourquoi on l'appelle le surensemble de JavaScript

Installation de TypeScript

Pour exécuter notre code précédent en TypeScript, nous devons installer le compilateur TypeScript à l'aide du paquetage npm (si vous avez node js)

npm install -g typescript

ou le télécharger directement depuis la page de téléchargement officielle de Microsoft. Vous pouvez également utiliser le terrain de jeu TS pour voir comment le code est trans-compilé de ts à js

Une fois cela fait, vous pouvez configurer les paramètres du projet dans tsconfig.json et utiliser n'importe quel L'IDE ou éditeur de texte pour écrire du code TypeScript et le sauvegarder au format .ts

Vous pouvez toujours vous en sortir en ne définissant pas le type de variable et TypeScript peut déduire le type de données. Cependant, vous obtiendrez une erreur "feeling" si vous donnez autre chose que le premier type utilisé (dans notre cas, un String) - pendant la compilation elle-même

Il est toujours bon que le code ait une annotation de type pour des raisons de maintenabilité et de facilité d'utilisation

var feeling : string = "heureux"

Ce n'est pas tout !

TypeScript propose de nombreuses autres fonctionnalités qui facilitent la vie des développeurs

Caractéristiques de TypeScript

TypeScript dispose d'un riche ensemble de fonctionnalités et chaque version est accompagnée de nouvelles fonctionnalités qui rendent le développement plus facile qu'auparavant. Par exemple, avec la nouvelle version (4.0), certaines fonctionnalités supplémentaires sont les types de tuple variadiques, les usines JSX personnalisées, l'inférence des propriétés de classe à partir des constructeurs, etc. Voici quelques caractéristiques typiques de TypeScript

  • Prise en charge des concepts de programmation orientée objet tels que l'interface, l'héritage, la classe et la généricité
  • Détection précoce des erreurs
  • Support IDE avec vérification de la syntaxe et suggestions
  • Plus facile à déboguer car il est typé
  • Transcompilation en JavaScript
  • Utilisé pour les applications côté serveur et côté client
  • Prise en charge multiplateforme et multi-navigateur
  • Prise en charge de toutes les bibliothèques et extensions JS

Pourquoi avons-nous besoin de TypeScript ? (Avantages de TypeScript par rapport à JavaScript)

Microsoft a développé et utilisé TypeScript pendant deux ans pour ses projets internes avant de le rendre public en 2012. Ils ont créé un JavaScript typé parce qu'il était plus facile de tester le code pour les applications d'entreprise de niveau de production. Vous pouvez toujours utiliser les fonctionnalités de typage dynamique, mais aussi taper les variables lorsque cela est vraiment nécessaire

Considérez le code ci-dessous

var mynum = //obtenir de l'utilisateur ;

addten(number){

return number 10 ;

}
Nous nous attendons à ce que le résultat soit toujours un nombre. Mais que se passe-t-il si l'utilisateur donne "sheep" ? Le résultat sera mouton10 - idéalement, nous devrions dire à l'utilisateur que cette opération n'est pas possible !

De plus, lorsque vous disposez des informations sur les types, les éditeurs de texte et les IDE deviennent plus pratiques à utiliser et permettent d'éviter les erreurs d'exécution. Il est également plus facile de remanier le code ultérieurement

Cela signifie-t-il que nous n'avons pas besoin de JavaScript ? (Inconvénients de TypeScript par rapport à JavaScript)

Vous pouvez considérer TypeScript comme une extension de JavaScript, mais certainement pas comme un remplacement

Pour les petits morceaux de code, TypeScript peut devenir un surcoût - l'installation, la compilation, la trans-compilation seront redondantes. Avec JavaScript, vous pouvez simplement taper votre script en HTML et il fonctionnera. Il est également plus facile de déboguer le code lorsque vous pouvez simplement rafraîchir le navigateur à chaque fois que vous modifiez quelque chose

Comparaison directe

Maintenant que nous avons compris les caractéristiques et les avantages de TypeScript et de JavaScript, passons à d'autres comparaisons

TypeScript JavaScript
Un langage typé qui détecte les erreurs de compilation dès le début Vous pouvez détecter les erreurs pendant l'exécution
Convient aux grands projets, car il améliore la maintenabilité et la lisibilité du code Au fur et à mesure que du code est ajouté, il devient difficile de le tester et de le déboguer, c'est pourquoi le langage JS convient aux petits projets
Sur-ensemble de JS, c'est-à-dire des fonctionnalités telles que l'orientation objet, la vérification de type, etc. Langage de script qui prend en charge la création de contenu web dynamique
Nécessite l'installation d'un compilateur et une configuration Aucune installation n'est nécessaire ; le code JS peut être écrit directement dans un navigateur à l'aide de la balise .
Tous les fichiers .ts sont convertis en fichiers .js avant d'être exécutés ; c'est ce qu'on appelle la trans-compilation Les développeurs peuvent directement inclure des fichiers .js dans les fichiers HTML pour exécution en utilisant la balise .
Puissant et intuitif avec des fonctionnalités riches comme les modules, les génériques, les interfaces Convient aux applications web simples qui ne nécessitent pas de fonctionnalités avancées
Utilisé pour les scripts côté serveur et côté client Facile à utiliser pour les scripts côté client, mais devient lourd et complexe pour les scripts côté serveur
L'exécution prend du temps en raison de l'étape de compilation Aucune compilation n'est nécessaire, d'où une exécution plus rapide
Prend en charge le typage statique et dynamique Prend en charge uniquement le typage dynamique
Nous pouvons spécifier l'annotation de type comme suit

var feeling : string = "heureux" ;

Les annotations de type ne peuvent pas être spécifiées car nous ne pouvons pas définir de types.

Conclusion

Du point de vue de l'apprentissage, JavaScript pourrait être votre choix naturel. Vous ouvrez un fichier, tapez quelque chose à l'intérieur des balises <script></script>Vous pouvez ensuite vous en inspirer pour créer un contenu plus dynamique. Vous pouvez ensuite vous en inspirer pour créer un contenu plus dynamique

De plus, lorsque vous travaillez sur une application à grande échelle, vos connaissances en JavaScript vous permettront de passer facilement à TypeScript

Cependant, du point de vue de la carrière et de la rémunération, en tant que développeur TypeScript, vous serez plus flexible et plus à l'aise avec les projets JS et TS, ce qui constitue sans aucun doute un meilleur atout sur le marché. En général, les développeurs TypeScript sont payés entre 110 000 et 147 000 dollars, tandis que les développeurs JS sont payés entre 63 000 et 118 000 dollars par an.

  • Geekflare Editorial
    Auteur
    L'équipe éditoriale de Geekflare est un groupe de rédacteurs et d'éditeurs expérimentés qui se consacrent à fournir un contenu de haute qualité à nos lecteurs. Nous nous engageons à fournir un contenu utile qui aide les individus et les entreprises à se développer.
Merci à nos sponsors
D'autres lectures intéressantes sur le développement
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus