← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Analise o pretenso código JavaScript a seguir. const xpto = (a, b) => a + b; Sobre esse trecho, é correto afirmar que esse código:

Gabarito: A

Em JavaScript, a expressão apresentada usa uma arrow function, isto é, uma função seta. A estrutura básica é bem direta: parâmetros entre parênteses, operador => e, em seguida, a expressão que será retornada. No caso mostrado, a função recebe a e b e devolve a soma deles, sem precisar escrever return nem colocar chaves quando o corpo tem apenas uma expressão. Isso confunde muita gente porque, em outras linguagens ou em funções tradicionais, é comum ver chaves e return explícito. Aqui, porém, o JavaScript permite uma forma mais enxuta. Quando o corpo da arrow function é uma única expressão, o retorno é implícito. Então const xpto = (a, b) => a + b; é um código válido. Além disso, const apenas declara uma variável de referência constante, não impede que ela receba uma função. Ou seja, você pode guardar a função em uma constante sem problema. O símbolo => é justamente o que caracteriza a arrow function na linguagem, então não há erro de compilação por causa dele. Por isso, o gabarito correto é a alternativa A: o trecho define uma função que retorna a soma de dois valores recebidos como parâmetros. Em termos práticos, xpto(2, 3) vai produzir 5, simples assim, sem drama e sem chaves obrigatórias.

Continue treinando

Questões relacionadas