Questão FC373462
Considere o fragmento de programa TypeScript abaixo. let dados: (string | number) [] = [300, 100, "Paulo", 200]; let valor = dados [0]; console.log (valor); Sobre à programa, é cor
Desenvolvimento Web
FCC · 2024
Considere o fragmento de programa TypeScript abaixo.
let dados: (string | number) [] = [300, 100, "Paulo", 200];
let valor = dados [0];
console.log (valor);
Sobre à programa, é correto afirmar que
- ocorrerá um erro, pois o tipo do array deve ser ou somente string ou somente number dentro dos parênteses.
- utiliza Union Types, permitindo que o array suporte valores dos tipos string ou number.
- ocorrerá um erro, pois os valores do array devem ser todos do tipo string ou todos do tipo number.
- ocorrerá um erro, pois na segunda linha o índice do array dados deve ser 1,2,3 ou 4.
- está correto e utiliza Enumeration para definir o tipo array como dinamicamente tipado.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
O trecho declara Union Types em TypeScript ao usar a sintaxe (string | number)[], permitindo que o array contenha valores de mais de um tipo simultaneamente.
No exemplo, let dados: (string | number)[] = [300, 100, "Paulo", 200]; o vetor armazena números e strings sem erro de tipagem porque cada elemento é compatível com a união string | number.
Ao acessar let valor = dados[0];, o tipo inferido para valor é a própria união (string | number), já que qualquer elemento pode ser de um desses tipos.
O comando console.log(valor); imprime o valor armazenado (neste caso 300) e não causa erro de tipo em tempo de compilação.
Em resumo: a declaração usa Union Types para tornar o array heterogêneo, aceitando simultaneamente string e number.
Conteúdo do catálogo FC Concursos · Atualizado em