TypeScript
, nous prenons en charge à peu près les mêmes types que ceux attendus en JavaScript
, avec un type d'énumération
pratique ajouté pour faciliter les choses.true
/ false
, que JavaScript
et TypeScript
appellent une valeur boolean.JavaScript
, tous les nombres dans TypeScript
sont des valeurs à virgule flottante.
Ces nombres à virgule flottante ont le type number
.
En plus des littéraux hexadécimaux et décimaux, TypeScript
prend également en charge les littéraux binaires et octaux introduits dans ECMAScript 2015
.JavaScript
pour les pages Web et les serveurs.
Comme dans d'autres langues, nous utilisons le type string
pour faire référence à ces types de données textuels.
Tout comme JavaScript
, TypeScript
utilise également des guillemets doubles ("
) ou des guillemets simples ('
) pour entourer les données de chaîne.backtick
/ backquote (`
) et les expressions incorporées sont de la forme ${ expr }
.sentence
comme ceci :TypeScript
, comme JavaScript
, vous permet de travailler avec des tableaux de valeurs.
Les types de tableaux peuvent être écrits de deux manières.
Dans le premier, vous utilisez le type des éléments suivi de []
pour désigner un tableau de ce type d'élément :Array‹elemType›
:tuples
vous permettent d'exprimer un tableau dans lequel le type d'un nombre fixe d'éléments est connu, mais ne doit pas nécessairement être le même.
Par exemple, vous souhaiterez peut-être représenter une valeur sous forme de paire d'un string
et d'un number
:JavaScript
enum
.
Comme dans des langages comme C#
, une énumération est un moyen de donner des noms plus conviviaux à des ensembles de valeurs numériques.Color
ci-dessus,
nous pourrions rechercher le nom correspondant :any
:any
est un moyen puissant de travailler avec le code JavaScript
existant,
vous permettant d'activer et de désactiver progressivement la vérification de type lors de la compilation.
Vous pouvez vous attendre à ce que Object
joue le même rôle que dans d'autres langues.
Mais les variables de type Object
ne vous permettent que de leur attribuer une valeur,
vous ne pouvez pas y appeler des méthodes arbitraires, même celles qui existent :any
est également utile si vous connaissez une partie du type, mais peut-être pas tout.
Par exemple, vous pouvez avoir un tableau, mais le tableau a un mélange de différents types :void
est un peu comme le contraire de any
: l'absence de tout type.
Vous pouvez généralement voir cela comme le type de retour des fonctions qui ne renvoient pas de valeur :void
n'est pas utile parce que vous ne pouvez affecter undefined
ou null
:TypeScript
, les deux undefined
et null
ont en fait leurs propres types nommés respectivement undefined
et null
.
Un peu comme void
, ils ne sont pas extrêmement utiles par eux-mêmes :null
et undefined
sont les sous-types de tous les autres types.
Cela signifie que vous pouvez assigner null
et undefined
à quelque chose comme number
.--strictNullChecks
, null
et undefined
ne sont cessibles à void
et leurs types respectifs.
Cela permet d'éviter de nombreuses erreurs courantes.
Dans les cas où vous souhaitez transmettre un string
ou null
ou undefined
,
vous pouvez utiliser le type d'union string
| null
| undefined
.--strictNullChecks
lorsque c'est possible,
mais aux fins du présent manuel, nous supposerons qu'il est désactivé.never
représente le type de valeurs qui ne se produisent jamais.
Par exemple, never
est le type de retour pour une expression de fonction ou une expression de fonction flèche
qui lève toujours une exception ou une exception qui ne retourne jamais.
Les variables acquièrent également le type never
restreint par des gardes de type qui ne peuvent jamais être vraies.never
est un sous-type et peut être assigné à chaque type; cependant, aucun type n'est un sous-type de,
ni ne peut être assigné never
(sauf never
lui-même). Même any
n'est pas assignable à never
.never
:object
est un type qui représente le type non primitif, à savoir tout ce qui est non number
, string
, boolean
, symbol
, null
, ou undefined
.Object
, les API similaires Object.create
peuvent être mieux représentées. Par exemple :TypeScript
.
Cela se produit généralement lorsque vous savez que le type d'une entité peut être plus spécifique que son type actuel.TypeScript
suppose que vous, le programmeur, avez effectué les vérifications spéciales dont vous avez besoin.as
syntaxe :TypeScript
avec JSX
,
seules les assertions as
de style sont autorisées.let
à la place
du mot-clé de JavaScript
var
que vous connaissez peut-être mieux.
Le mot-clé let
est en réalité une construction JavaScript
plus récente mise à disposition par TypeScript
.
Nous discuterons des détails plus tard, mais de nombreux problèmes courants de JavaScript
sont résolus en utilisant let
,
vous devriez donc les utiliser à la place de var
chaque fois que cela est possible.