FC ConcursosFC Concursos

Questão FC373471

Considere o fragmento de código TypeScript abaixo. interface CriaArrayString { [indice: number]: string; } var nomes: CriaArrayString; nomes = ["Ana", "Pedro", "Mariana"]; document

Desenvolvimento Web

FCC · 2018

Considere o fragmento de código TypeScript abaixo.

 

interface CriaArrayString {

   [indice: number]: string;

}

var nomes: CriaArrayString;

nomes = ["Ana", "Pedro", "Mariana"];

document.body.innerHTML = nomes[1];

 

Ao executar esse código

  1. ocorrerá um erro na linha que contém o comando [indice: number]: string;
  2. será exibido na tela o nome Pedro.
  3. ocorrerá um erro na linha que contém o comando var nomes: CriaArrayString;
  4. será exibido na tela o nome Ana.
  5. ocorrerá um erro na linha que contém o comando document.body.innerHTML = nomes[1];
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A interface CriaArrayString declara uma assinatura de índice com [indice: number]: string, ou seja, mapeia índices numéricos para valores do tipo string.

Quando fazemos nomes = ["Ana", "Pedro", "Mariana"], atribuimos um array de strings. Em TypeScript um array de strings é compatível com a assinatura de índice definida, portanto a atribuição é válida em tempo de compilação.

Em tempo de execução o array funciona como em JavaScript: os elementos são acessados por índices começando em zero. Assim, nomes[1] retorna o segundo elemento do array.

A instrução document.body.innerHTML recebe esse valor e substitui o conteúdo do <body>, exibindo na página o nome Pedro.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo