Typage des paramètres et valeurs de retour
Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy. Leçon 22 sur 73.
Les fonctions sont les briques de base de toute application, et TypeScript les rend plus sûres et plus prévisibles en vous permettant de spécifier exactement quels types de données elles acceptent et retournent. Lorsque vous ajoutez des annotations de type aux fonctions, vous créez un contrat clair qui définit ce qui entre et ce qui sort.
Pour ajouter des types à une fonction, vous spécifiez le type de chaque paramètre après son nom, et spécifiez éventuellement le type de retour après la liste des paramètres :
function greet(name: string): string {
return "Hello, " + name;
}
function multiply(a: number, b: number): number {
return a * b;
}La syntaxe suit un modèle simple : parameterName: type pour chaque paramètre, et : returnType après la parenthèse fermante.
Défi
FacileCréez une fonction nommée add qui prend deux paramètres de type number et retourne leur somme. La fonction doit avoir une annotation de type de retour explicite de number.
Créez une autre fonction nommée getFullName qui prend deux paramètres : firstName de type string et lastName de type string. La fonction doit retourner le nom complet sous forme d'une seule chaîne de caractères avec un espace entre le prénom et le nom. Ajoutez une annotation de type de retour explicite de string.
Créez une troisième fonction nommée isEligible qui prend deux paramètres : age de type number et hasLicense de type boolean. La fonction doit retourner true si la personne a 18 ans ou plus ET possède un permis, sinon elle doit retourner false. Ajoutez une annotation de type de retour explicite de boolean.
Testez vos fonctions en les appelant avec les valeurs suivantes et en affichant les résultats :
- Appelez
addavec15et27 - Appelez
getFullNameavec"John"et"Smith" - Appelez
isEligibleavec20ettrue - Appelez
isEligibleavec16ettrue
Affichez chaque résultat sur une ligne distincte dans l'ordre spécifié ci-dessus.
Essayez vous-même
// TODO: Écrivez votre code ici
// Créez la fonction add avec une annotation explicite du type de retour
// Créez la fonction getFullName avec une annotation explicite du type de retour
// Créez la fonction isEligible avec une annotation explicite du type de retour
// Testez les fonctions et affichez les résultats
// Appelez add avec 15 et 27
// Appelez getFullName avec "John" et "Smith"
// Appelez isEligible avec 20 et true
// Appelez isEligible avec 16 et trueCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Introduction à TypeScript
1Premiers pas avec TS
Qu'est-ce que TypeScript ?Pourquoi utiliser TypeScript ?Votre premier code TypeScriptProcessus de compilation et erreursRécapitulatif : Introduction à TS4Travailler avec les fonctions
Typage des paramètres et valeurs de retourTypage des fonctions fléchéesLe type de retour 'void'Paramètres optionnels avec '?'Valeurs par défaut des paramètresTypage des paramètres RestDéfinir des types de fonctionsRécapitulatif : Créer des fonctions typées2Types fondamentaux
Types de base : str, num, booleanLe type 'any' : la porte de sortieLe type 'unknown'Travailler avec 'null' et 'undef'L'inférence de type en actionAnnotations de type explicitesRécapitulatif : Pratique des types fondamentaux5Types : Alias, Unions & Intersections
Alias de types pour les primitifsTypes d'union ('|')Travailler avec les types d'unionTypes littérauxTypes d'intersection ('&')Combiner des alias de typesRécapitulatif : Combinaisons de types avancées3Structure de données : Tableaux et Tuples
Tableaux typésModificateur 'readonly' pour les tableauxQu'est-ce qu'un tuple ?Déclaration et accès aux tuplesDéstructuration de tuplesTuples readonlyTableaux typés multidimensionnelsSpread operator avec les tableauxRécapitulatif : Tableaux et tuples6Typage des objets et interfaces
Annotations de type d'objet en ligneAlias de type pour les objetsIntroduction aux interfacesInterfaces vs Alias de typePropriétés optionnelles et ReadonlyÉtendre les interfaces et les typesAjout de méthodes aux interfacesRécapitulatif : Définir la structure des objetsEntraînez-vous par vous-même : Compilateur JavaScript en ligne