Informe se é verdadeiro (V) ou falso (F) o que se afirma sob...

Próximas questões
Com base no mesmo assunto
Q4114033 Programação
Informe se é verdadeiro (V) ou falso (F) o que se afirma sobre o seguinte trecho de código:
let tupla: [string, number]; tupla = [23, "ola"];
( ) O tipo tupla não é tão comum nas linguagens C e Java.
( ) A declaração de tupla pode ser usada em TypeScript.
( ) Na linha 1, realiza-se a declaração da variável tupla, com dois atributos, cada um de um tipo.
( ) Na linha 2 há um erro na inicialização dessa variável.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A

Fundamento decisivo: A diferença entre a declaração `let tupla: [string, number];` e a atribuição `tupla = [23, "ola"];` é decisiva para o gabarito.

Tema central: Tuplas em TypeScript
Análise das alternativas
A
Certa
A alternativa A é a correta porque a sequência V, V, V, V é a única compatível com a base adotada pela banca. Em TypeScript, `[string, number]` é uma declaração válida de tupla, isto é, uma estrutura com quantidade e ordem de elementos conhecidas e tipos associados a cada posição. Assim, a linha 1 declara uma variável cuja primeira posição deve receber `string` e cuja segunda deve receber `number`; embora a assertiva use a palavra "atributos" de modo impreciso, o sentido funcional cobrado é esse. Já a linha 2 está errada porque atribui `number` na primeira posição e `string` na segunda, violando a tipagem posicional da tupla. Para compatibilizar a sequência oficial, a primeira assertiva também deve ser tomada como verdadeira no sentido usual de prova: tuplas não são tipos tão comuns em C e Java.
B
Errada
Está errada porque marca a 4ª assertiva como falsa, mas ela é verdadeira: a atribuição `[23, "ola"]` contraria a ordem exigida por `[string, number]`. Além disso, a 1ª assertiva não é a leitura aceita pela banca nesta questão.
C
Errada
Está errada porque trata a 2ª e a 3ª assertivas como falsas. A 2ª é verdadeira, pois a sintaxe de declaração de tupla em TypeScript é válida; a 3ª também é aceita como verdadeira, já que a linha 1 define duas posições tipadas, apesar da terminologia "atributos" ser imprecisa.
D
Errada
Está errada porque marca a 3ª assertiva como falsa, mas a linha 1 descreve, sim, uma tupla com dois elementos e tipos definidos por posição. Também contraria a leitura exigida pelo gabarito oficial quanto à 1ª assertiva.
E
Errada
Está errada porque marca a 2ª e a 4ª assertivas como falsas. A 2ª é verdadeira, pois tuplas podem ser declaradas em TypeScript; a 4ª é verdadeira, porque a inicialização está incompatível com a ordem dos tipos declarados.
Pegadinha da questão
A confusão real era dupla: achar que basta os mesmos tipos aparecerem na atribuição, sem respeitar a ordem da tupla, e rejeitar a 3ª assertiva por causa do uso impreciso de "atributos", quando o que a banca cobrava era apenas a ideia de duas posições tipadas.
Dica para questões semelhantes
  • Em tuplas, confira sempre tipo e posição ao mesmo tempo; não basta os tipos estarem presentes.
  • Separe validade da declaração e validade da atribuição: a sintaxe pode estar correta mesmo que a inicialização esteja errada.
  • Quando a banca usar termo impreciso, verifique se o sentido funcional coincide com o conceito técnico cobrado.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo