No TypeScript, o recurso de narrowing permite que variáveis com múltiplos tipos possíveis sejam verificadas em tempo de execução, garantindo maior segurança e flexibilidade ao tratar diferentes tipos dentro de funções. Esse comportamento é essencial quando uma função precisa adaptar seu comportamento conforme o tipo do dado recebido. Com base nesse conceito, analise as afirmativas a seguir: Afirmativas: I. O narrowing é utilizado no TypeScript para verificar o tipo de uma variável durante a execução do programa, e não na fase de compilação. II. O operador typeof é um dos principais mecanismos utilizados no TypeScript para aplicar narrowing, possibilitando comportamentos específicos conforme o tipo da variável. III. O uso de narrowing favorece a criação de funções mais flexíveis e reutilizáveis, permitindo a manipulação segura de parâmetros com diferentes tipos. Marque a alternativa correta:

Questão

No TypeScript, o recurso de narrowing permite que variáveis com múltiplos tipos possíveis sejam verificadas em tempo de execução, garantindo maior segurança e flexibilidade ao tratar diferentes tipos dentro de funções. Esse comportamento é essencial quando uma função precisa adaptar seu comportamento conforme o tipo do dado recebido.

Com base nesse conceito, analise as afirmativas a seguir: Afirmativas: I. O narrowing é utilizado no TypeScript para verificar o tipo de uma variável durante a execução do programa, e não na fase de compilação. II. O operador typeof é um dos principais mecanismos utilizados no TypeScript para aplicar narrowing, possibilitando comportamentos específicos conforme o tipo da variável. III. O uso de narrowing favorece a criação de funções mais flexíveis e reutilizáveis, permitindo a manipulação segura de parâmetros com diferentes tipos.

Marque a alternativa correta:

Alternativas

A) I e II

B) II e III

94%

C) I

D) I, II e III

E) II

Explicação

Vamos avaliar cada afirmativa à luz do que é narrowing no TypeScript.

I. “O narrowing é utilizado no TypeScript para verificar o tipo de uma variável durante a execução do programa, e não na fase de compilação.”

  • O narrowing é uma análise do compilador (em tempo de compilação) que reduz o tipo estático de uma variável a partir de checagens que aparecem no código (como typeof, instanceof, comparação com null, etc.).
  • As checagens (ex.: typeof x === 'string') acontecem em tempo de execução, mas o narrowing em si é o TypeScript entendendo, em compilação, que dentro daquele bloco o tipo está mais específico.
  • Portanto, dizer que é usado “durante a execução e não na compilação” está incorreto.

II. “O operador typeof é um dos principais mecanismos utilizados no TypeScript para aplicar narrowing...”

  • Correto. typeof é um type guard comum para diferenciar tipos primitivos (como string, number, boolean, undefined, function, etc.), e o TypeScript usa isso para estreitar o tipo dentro do bloco.

III. “O uso de narrowing favorece a criação de funções mais flexíveis e reutilizáveis...”

  • Correto. Ao aceitar union types (por exemplo, string | number) e estreitar com segurança antes de operar, a função consegue tratar múltiplos cenários de forma segura e reutilizável.

Conclusão: apenas II e III são verdadeiras.

Alternativa correta: (B).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.