Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

460
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda