Carlos está desenvolvendo uma ferramenta de análise textual em TypeScript. Para isso, ele precisa criar uma função que percorra um vetor de frases e identifique quais delas contêm um padrão específico, utilizando expressões regulares. Além da funcionalidade, ele deseja que o código seja escrito com práticas modernas, priorizando legibilidade, concisão e facilidade de manutenção. Qual das alternativas apresenta a combinação mais eficiente de recursos para atender aos objetivos de Carlos?
Questão
Carlos está desenvolvendo uma ferramenta de análise textual em TypeScript. Para isso, ele precisa criar uma função que percorra um vetor de frases e identifique quais delas contêm um padrão específico, utilizando expressões regulares. Além da funcionalidade, ele deseja que o código seja escrito com práticas modernas, priorizando legibilidade, concisão e facilidade de manutenção. Qual das alternativas apresenta a combinação mais eficiente de recursos para atender aos objetivos de Carlos?
Alternativas
A) Uma função tradicional com parâmetros REST
B) Uma arrow function combinada com um laço for tradicional
C) Uma função recursiva que testa o padrão para cada item do vetor
D) Uma arrow function com utilização de expressão regular (RegEx).
E) Uma função que imprime todas as frases, independentemente do padrão
Explicação
Para o que Carlos precisa, há dois pontos centrais:
- Identificar frases que contêm um padrão específico
- Isso é feito de forma direta e idiomática com expressões regulares (RegEx) em TypeScript/JavaScript, por exemplo usando
regex.test(frase)oufrase.match(regex).
- Práticas modernas: legibilidade, concisão e manutenção
- Em TypeScript moderno, arrow functions são muito usadas por serem concisas e favorecerem um estilo funcional (especialmente quando combinadas com
filter,some,map, etc.). - Entre as alternativas, a única que explicita a combinação “função moderna + RegEx” é a letra D.
Analisando as demais opções:
- A: parâmetros REST (
...args) não resolvem o problema de buscar padrão e não são a escolha central aqui. - B: arrow function +
forpode funcionar, mas a alternativa não menciona RegEx, que é o requisito principal para “padrão específico”. - C: recursão é desnecessária para percorrer vetor e piora legibilidade/manutenção nesse caso.
- E: imprimir tudo ignora a condição do padrão.
Logo, a combinação mais eficiente e alinhada ao enunciado é arrow function + RegEx.
Alternativa correta: (D).