Questão nº 75
Questão de Tecnologia da Informação · FGV TCE-SP 2023 (nº 75)
Atualmente o JavaScript é gerenciado pela Ecma, e na versão Ecma 6 ocorre uma grande utilização do paradigma funcional através de arrow functions. Considere a função apresentada a seguir, na forma de escrita tradicional:
```javascript
function somar(a, b) {
return a + b;
}
```
No padrão arrow function, ela seria definida como:
- Aconst somar = (a, b) => a + b; (alternativa correta)
- Bconst somar (a, b) => a + b;
- Cconst somar = (a, b => a + b);
- Dconst somar => (a, b) = a + b;
- Econst somar (a, b) = a + b;
Resposta comentada
Gabarito Alternativa A
Arrow functions são uma forma mais curta e concisa de escrever funções em JavaScript, especialmente para funções simples, tornando o código mais limpo e fácil de ler.
(A) Correta: Esta é a sintaxe correta para uma arrow function. `const somar =` atribui a função a uma variável constante. `(a, b)` define os parâmetros da função. `=>` é o operador arrow que separa os parâmetros do corpo da função. `a + b;` é o corpo da função, e como é uma única expressão, o `return` e as chaves `{}` são implícitos.
(B) Incorreta: Falta o operador de atribuição `=` após `somar`. `const somar (a, b)` não é uma sintaxe válida para declarar e atribuir uma função a uma constante.
(C) Incorreta: A posição do operador `=>` está errada. Ele deve vir depois da lista completa de parâmetros, e não dentro dela. A sintaxe `(a, b => a + b)` é inválida, pois o `=>` não pode estar dentro dos parênteses dos parâmetros dessa forma. Armadilha da banca: Esta alternativa tenta confundir o aluno com a presença de todos os elementos de uma arrow function (`const`, `=`, `(`, `)`, `=>`, corpo), mas a colocação do `=>` dentro dos parênteses dos parâmetros é um erro sutil de sintaxe.
(D) Incorreta: A sintaxe `const somar =>` está incorreta; o `=>` deve vir depois dos parâmetros. Além disso, `(a, b) = a + b;` não é uma forma válida de definir o corpo de uma arrow function.
(E) Incorreta: Assim como na alternativa B, falta o operador de atribuição `=` após `somar`. `const somar (a, b)` é um erro de sintaxe. Além disso, a ausência do `=>` torna a expressão `(a, b) = a + b;` inválida como corpo de função.
Fonte: FGV TCE-SP 2023 Auxiliar Técnico da Fiscalização - TI (Caderno Tipo 1). Reproduzida para fins de estudo.