Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

453
Vistas
¿Cómo puedo convertir un tipo personalizado en un tipo primitivo?

tengo un tipo

 type Rating = 0 | 1 | 2 | 3 | 4 | 5 | number

Ahora quiero hacer algo como esto.

 let myRating:Rating = 4 let rate:number = myRating as number

¿Cómo puedo convertir mi myRating en un tipo de number primitivo?

Me está dando error como:

La conversión del tipo 'Calificación' al tipo 'número' puede ser un error porque ningún tipo se superpone lo suficiente con el otro. Si esto fue intencional, primero convierta la expresión a 'desconocido'.ts(2352)

He pasado por esto , pero lo que quiero es al revés.

Editar:

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" ] }

versión tsc: 3.2.1

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Tratar:

 myRating as unknown as number

Además, elimine | number de su declaración.

Explicación: no puede convertir de un personalizado a un primitivo sin borrar primero el tipo. unknown borra la verificación de tipo.

over 4 years ago · Santiago Trujillo Denunciar

0

Actualización 2020

Actualización de TS 3.8

ahora no es necesario emitir usando como, se admite implícitamente, excepto en algunos casos. Donde puede hacer conversión de tipo como se indica en la respuesta aceptada. Aquí hay una buena explicación de la conversión de tipo en el mecanografiado .

 type Rating = 0 | 1 | 2 | 3 | 4 | 5; let myRating:Rating = 4 let rate:number = myRating;

Parque infantil TS


Respuesta Original

Creo que está arreglado en la actualización de mecanografiado TS 3.5.1

 type Rating = 0 | 1 | 2 | 3 | 4 | 5; let myRating:Rating = 4

Ahora

 let rate:number = myRating;

y

 let rate:number = myRating as number;

ambos funcionando bien.

Parque infantil TS

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda