A razão pela qual este estilo pode ser usado (e possivelmente porque foi usado aqui) é que _
é um caractere mais curto que ()
.
Os parênteses opcionais têm o mesmo tipo de problema de estilo que as chaves opcionais . Esta é uma questão de gosto e estilo de código na maior parte, mas a verbosidade é favorecida aqui por causa da consistência.
Embora as funções de seta permitam um único parâmetro sem parênteses, é inconsistente com zero, desestruturação única, descanso único e vários parâmetros:
let zeroParamFn = () => { ... };
let oneParamFn = param1 => { ... };
let oneParamDestructuredArrFn = ([param1]) => { ... };
let oneParamDestructuredObjFn = ({ param1 }) => { ... };
let twoParamsFn = (param1, param2) => { ... };
let restParamsFn = (...params) => { ... };
Embora o is declared but never used
erro tenha sido corrigido no TypeScript 2.0 para parâmetros sublinhados, _
também pode disparar um unused variable/parameter
aviso de um linter ou IDE. Este é um argumento considerável contra isso.
_
pode ser usado convencionalmente para parâmetros ignorados (como a outra resposta já explicada). Embora isso possa ser considerado aceitável, esse hábito pode resultar em um conflito com o _
namespace Underscore / Lodash, também parece confuso quando há vários parâmetros ignorados. Por esse motivo, é benéfico ter parâmetros sublinhados corretamente nomeados (com suporte no TS 2.0), também economiza tempo ao descobrir a assinatura da função e por que os parâmetros são marcados como ignorados (isso desafia o propósito do _
parâmetro como um atalho):
let fn = (param1, _unusedParam2, param3) => { ... };
Pelas razões listadas acima, eu pessoalmente consideraria o _ => { ... }
estilo de código um tom ruim que deve ser evitado.