Le type typographique ne fonctionne pas
Je suis assez nouveau à la Machine. J'ai commencé avec un livre appelé le Tapuscrit a Révélé (Pub Févr.2013). Dans le Chapitre 2, il y a une section appelée "Jette" qui a l'exemple suivant:
var a : int = <int>SomeNumberAsAString;
J'ai essayé d'appliquer l'exemple, comme suit:
var SomeNumberAsAString = "1000";
var a: int = <int>SomeNumberAsAString;
Mais le compilateur m'a donné une erreur:
bonjour.ts(2,8): erreur TS2304: Impossible de trouver le nom de 'int'.
bonjour.ts(2,15): erreur TS2304: Impossible de trouver le nom de 'int'.
Je me demande comment ce faire de fonte, ou a la spécification de la Machine changé?
source d'informationauteur Kuan
Vous devez vous connecter pour publier un commentaire.
Ce livre est vieux. Son appelé
number
maintenant.Aussi cette affirmation est très dangereux et je ne voudrais pas le faire dans le code de production. Mais il obtient le point à travers 🙂
Plus
Plus à jour un chapitre de livre sur des assertions : https://basarat.gitbooks.io/typescript/content/docs/types/type-assertion.html
J'ai lu @basarat de la réponse et a décidé de poster mon propre depuis que je crois fermement qu'il y a encore de la place pour l'explication.
Être averti,
<number><any>
casting ne permettra pas de créer un certain nombre. En fait, il permettra à votre code doit être compilé (donc vous allez passer tout le typage statique des contrôles), mais ce ne sera pas un nombre en javascript. Considérons cet extrait de code:Je ne peux imaginer des cas lorsque
a
cas est bénéfique par rapport àb
cas. J'irais avec juste parseInt ou parseFloat ou d'un Nombre, ce qui répond le plus.<T><any>
casting ressemble à puce, mais vous devez être sûr à 100% de ce que vous êtes censé atteindre par cet idiome.Et dans la plupart des cas, vous ne voulez probablement pas à atteindre )
Ici est la plus propre façon de le faire.
+SomeNumberAsAString
convertit la chaîne de valeur pour le nombre.<number>
avant+SomeNumberAsAString
dit Tapuscrit compilateur que nous avons besoin de jeter le type de la valeur de typenumber
.