J'ai un type
type Rating = 0 | 1 | 2 | 3 | 4 | 5 | number
Maintenant, je veux faire quelque chose comme ça.
let myRating:Rating = 4
let rate:number = myRating as number
Comment convertir mon myRating
en number
type primitif?
Cela me donne une erreur comme:
La conversion du type "Rating" en type "nombre" peut être une erreur car aucun type ne se chevauche suffisamment. Si c'était intentionnel, convertissez d'abord l'expression en `` inconnu ''. (2352)
J'ai traversé ceci , mais ce que je veux c'est son inverse
Éditer:
tsconfig.json
{
"compilerOptions": {
"noImplicitAny": false,
"target": "es6",
"allowJs": true,
"skipLibCheck": false,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"strict": true
},
"include": [
"src"
]
}
version tsc: 3.2.1
Je pense que c'est corrigé dans la mise à jour TypeScript TS 3.5.1
type Rating = 0 | 1 | 2 | 3 | 4 | 5;
let myRating:Rating = 4
Maintenant
let rate:number = myRating;
et
let rate:number = myRating as number;
les deux fonctionnent bien.
Essayer:
myRating as unknown as number
Supprimez également | number
de votre déclaration.