Beta: L'interactivité n'est pas encore en place ...
Livre de codes - TypeScript
Bienvenue dans Codebook - Votre guide complet pour l'apprentissage TypeScript! Apprenez par exemples de zéro à héros dans TypeScript. Ce référentiel sert de ressource précieuse pour les débutants et les développeurs expérimentés, offrant une collection organisée d'exemples et d'explications pour vous aider à maîtriser TypeScript.
Démarrage rapide
Suivez ces étapes pour commencer avec le livre de codes:
- Clone le référentiel de votre machine locale.
- Installez les dépendances du projet en exécutant l'installation de NPM.
- Compilez le code TypeScript en exécutant NPM Run build.
- Exécutez les exemples pour chaque chapitre en exécutant le script NPM correspondant.
# replace number with chapter you want to see output from.
npm run chapter:1
Veuillez noter que la plupart des exemples publieront du texte factice. Pour explorer le code plus en détail, il est recommandé de lire les scripts eux-mêmes. Vous pouvez trouver le code source dans le répertoire ./SRC et naviguer dans les chapitres.
Assurez-vous que Node.js est installé sur votre machine, de préférence la version 16 ou plus, comme spécifié dans le champ des moteurs du package.json. Le référentiel de code a été testé et vérifié pour fonctionner avec Node.js 16. La cible ECMA2020 dans le compilateur TypeScript nécessite un minimum de Node.js version 10.
N'hésitez pas à explorer les liens rapides fournis ci-dessous ou à plonger dans le code source pour améliorer votre expérience d'apprentissage. Codage heureux!
Remarque: La base de code est testée et maintenue en continu, mais sachez que certaines sections peuvent être en cours de développement ou non en profondeur. Vos commentaires et contributions sont très appréciés pour rendre ce référentiel plus précieux pour la communauté TypeScript.
Qu'y a-t-il à l'intérieur?
Le livre de codes couvre un large éventail de sujets dactylographiés, à partir des bases et à plonger progressivement dans des concepts plus avancés. Chaque sujet s'accompagne d'exemples clairs et concis, vous permettant d'apprendre en faisant. Des types primitifs et des alias de type aux classes, aux modules et aux systèmes de type avancé, le livre de codes vous a couvert.
Chemin d'apprentissage
Ce référentiel est conçu comme un cours intensif, vous guidant de zéro au héros dans TypeScript. Il est structuré d'une manière qui vous permet de développer progressivement vos connaissances et vos compétences. Commencez par les principes fondamentaux et progressez, en s'attaquant aux concepts plus complexes au fur et à mesure. N'hésitez pas à explorer à votre rythme et à revoir les sujets chaque fois que vous avez besoin d'un rafraîchissement.
Qu'est-ce que TypeScript?
- JavaScript est un langage de script, également mieux connu sous le nom de langue interprétée, ce qui signifie que le code est exécuté ligne par ligne au moment de l'exécution plutôt que d'être compilé sous forme binaire avant l'exécution. L'interprétation est généralement effectuée par un interprétateur JavaScript - certains communs étant Node.js, ou n'importe quel navigateur (avec prise en charge de JavaScript, qui les est probablement tous).
- TypeScript est un sur-ensemble de JavaScript, ce qui signifie que tout code JavaScript valide est également un code TypeScript valide. Mais en outre, il introduit un compilateur (TSC) qui traduit le code TypeScript en JavaScript, vous permettant de tirer parti des fonctionnalités et des avantages supplémentaires de TypeScript tout en ciblant JavaScript comme plate-forme d'exécution.
- TS Scope - TSC considère tous les fichiers inclus dans le compilateur pour appartenir au même espace global. Cela s'applique également aux fichiers JS s'ils sont inclus par la configuration. Pour éviter la POLUTION SCOPE, chaque fichier est enveloppé dans Iife pour séparer les lunettes.
- Techniquement, un cycle de vie typique d'une base de code JavaScript, serait le développement, suivi d'une exécution d'exécution. Il y a bien sûr d'autres étapes du cycle de vie, comme le transport, la construction, la génération, les tests, la publication, le déploiement, etc. pour une simplicité, ici, nous allons résumer toutes les étapes pré-runtime dans le `` développement '' puis «l'exécution».
- Compte tenu de tout cela, il est sûr de dire, TypeScript introduit une étape obligatoire - la compilation - comme coût supplémentaire, mais le prix de bogues considérablement réduit est très apprécié.
Pourquoi TypeScript?
- Analyse statique - La base de code devient «fortement typée», ce qui signifie que l'annotation des objets est liée aux interfaces et aux déclarations, vous permettant d'avoir la «forme» ou le «type» de chaque objet avant le temps d'exécution. Cela améliore les bogues de capture (via le type de sécurité) avant d'exécuter l'application.
- Outillage - IDE avec prise en charge de TypeScript améliorera considérablement vos workflows de codage. VScode utilise TypeScript sous le capot et aide même avec les bases de code JS.
- LIBIBILITÉ - Le fait d'avoir une définition d'objet explicite (des types) aide à comprendre ce qu'un objet fait et comment il se comporte et n'est pas seulement un objet «aléatoire» avec des propriétés. D'autres dactylographies donnent un coup de pouce à JavaScript en introduisant des fonctionnalités linguistiques, comme les interfaces, les génériques et autres, ce qui vous permet de structurer encore mieux la base de code.
- Maintenabilité - Le refactorisation devient plus facile et plus sûr, en raison de la déclenchement de la sécurité de type, vous pouvez observer les dépendances, les références, etc.
- Adoption - Étant donné que TypeScript est construit au-dessus de JavaScript, il peut être facilement adopté. Encore plus, cela peut se produire progressivement.
Quand TypeScript?
Il convient de noter que TypeScript introduit une complexité supplémentaire par rapport à l'écriture de JavaScript simple. Si vous travaillez sur un petit projet, que vous avez des délais serrés ou avez besoin d'un prototypage rapide, TypeScript peut ne pas offrir des avantages substantiels et JavaScript pourrait être un choix plus approprié.
Contribution
Ce livre de codes est un projet open-source et les contributions sont les bienvenues! Si vous trouvez des erreurs, avez des suggestions d'améliorations ou souhaitez ajouter plus d'exemples pour améliorer l'expérience d'apprentissage, n'hésitez pas à soumettre une demande de traction. Ensemble, nous pouvons en faire une ressource encore meilleure pour la communauté dactylographiée.
Remarque: Ce livre de codes évolue en permanence et certains sujets peuvent être manquants ou non couverts en profondeur. Vos commentaires et contributions aideront à rendre ce référentiel plus complet et plus précieux pour tout le monde.
Table des matières
- Chapitre 1: Désigne
- Taper
- Caché
- Sans exception
- Faute de frappe
- Fonctionnel
- Chapitre 2: Bonjour le monde!
- Chapitre 3: Primitives
- Chapitre 4: Collections
- Syntaxe de la table
- Array Readonly
- Tuples
- Sets
- Cartes
- Chapitre 5: fonctions
- Syntaxe
- Pas de type de retour
- Contexte
- Arguments explicites
- Signature d'appel
- Signature du constructeur
- Signature de surcharge
- Paramètres de repos
- Répartir les arguments
- Chapitre 6: Objets
- Propriété facultative
- Affirmation non nulle
- Chaînage facultatif
- Anonyme
- Référence: ceci
- Destructeur
- Valeurs par défaut
- Modificateur en lecture
- Mutation en lecture
- Signature d'index
- Chèque de propriété excédentaire
- Chapitre 7: Types
- Alias
- Union
- Intersection
- Littéraux
- Type inconnu
- Type en ligne
- Jamais
- Expression de type de fonction
- Effacement
- Type d'objet
- Type de fonction
- Type conditionnel
- Type mappé
- Types de manipulation de cordes
- Chapitre 8: Interfaces
- Syntaxe
- Contracter
- Extension
- Chapitre 9: Casting
- Chapitre 10: rétrécissement
- Gardien de type
- Égalité
- Contenu
- Exemple
- Affectation
- Flux de contrôle
- Prédicat
- Chapitre 11: génériques
- Type de retour
- Inférence
- Contraintes
- Génériques
- Chapitre 12: Réflexions
- Indexation des propriétés
- Réflexion de type
- Type de retour
- Types d'indexation
- Chapitre 13: Classe
- Syntaxe
- Champs
- Lire en lecture
- Constructeurs
- Surcharge
- Super appel
- Méthodes
- Propriétés
- Héritage
- Interfaces
- Surclassement
- Accès aux membres
- Membres statiques
- Abstraction
- Polymorphisme
Licence
Ce projet est autorisé sous la licence du MIT. Voir le fichier de licence pour plus d'informations.
Contributif
Les contributions à ce livre de codes sont les bienvenues! Si vous avez des rapports de bogues, des demandes de fonctionnalités ou si vous souhaitez soumettre une demande de traction, veuillez suivre les directives décrites dans le fichier contributif.
Feuille de route
Les plans futurs de ce livre de codes incluent l'élargissement de la couverture des sujets de typeScript, l'ajout de plus d'exemples et la fourniture d'exercices interactifs pour renforcer l'apprentissage. De plus, nous visons à intégrer les commentaires de la communauté et à résoudre tous les problèmes signalés.
Remerciements
Un merci spécial aux individus et projets suivants pour leurs contributions, leur inspiration et leur soutien:
- TypeScript: la langue et la communauté dactylographiées.
- Awesome TS: une liste organisée de ressources dactylographiées impressionnantes.
Ressources
Voici quelques ressources supplémentaires pour améliorer davantage l'apprentissage de votre type:
- Documentation officielle de dactylographie
- Manuel de typeScript
Soutien
Si vous rencontrez des problèmes ou si vous avez des questions, n'hésitez pas à vous contacter en créant un problème dans le référentiel GitHub.
Conclusion
Merci pour votre intérêt pour ce livre de codes! Nous espérons que cette collection d'exemples et d'explications de typeScript vous aidera dans votre parcours d'apprentissage. Nous vous encourageons à explorer le code, à expérimenter et à fournir des commentaires. Codage heureux!