Questão nº 34
Questão de Tecnologia da Informação · FCC TRT-11 2017 (nº 34)
Considere o fragmento de código TypeScript:
```typescript
class Teste{
constructor() {
I
}
}
var t = new Teste();
```
Considere que a lacuna I deva ser preenchida por um comando que cria uma variável a e armazene nela os valores 1, 2 e 3.
I. `var a: number[ ] = [1, 2, 3];`
II. `var a: Array<number> = [1, 2, 3];`
III. `var a: generic[ ] = [1, 2, 3];`
IV. `var a: any[ ] = [1, 2, 3];`
Preenche corretamente a lacuna I o que consta APENAS nos itens
- AI, II e III.
- BII e IV.
- CI e III.
- DIII e IV.
- EI, II e IV. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Em TypeScript, um array é uma lista ordenada de elementos, e você precisa especificar o tipo dos elementos que ele pode conter. Existem diferentes maneiras de declarar um array que armazena números.
- (A) Incorreta: A alternativa A inclui o item III, que usa
generic[].genericnão é um tipo válido em TypeScript, o que causaria um erro de compilação. - (B) Incorreta: A alternativa B inclui o item III, que é inválido por usar
generic[]. - (C) Incorreta: A alternativa C inclui o item III, que é inválido por usar
generic[]. - (D) Incorreta: A alternativa D inclui o item III, que é inválido por usar
generic[]. - (E) Correta:
- I.
var a: number[ ] = [1, 2, 3];é a sintaxe mais comum e idiomática para declarar um array de números. - II.
var a: Array<number> = [1, 2, 3];é outra sintaxe padrão usando o tipo genéricoArray<T>, que também declara um array de números. - IV.
var a: any[ ] = [1, 2, 3];declara um array que pode conter qualquer tipo de valor, incluindo números. Embora menos específico em termos de tipagem (sacrifica a segurança de tipo), é sintaticamente correto e armazena os valores 1, 2 e 3 sem erro. - A pegadinha do item III (
var a: generic[ ] = [1, 2, 3];) é quegenericnão é um tipo pré-definido em TypeScript. Embora o conceito de "generics" exista na linguagem (como emArray<number>), a palavragenericsozinha não pode ser usada como um tipo.
- I.
Fonte: FCC TRT-11 2017 Técnico Judiciário – Área Apoio Especializado – Especialidade: Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.