Qual é a convenção de JavaScript para nenhuma operação? Como um pass
comando Python .
- Uma opção é simplesmente uma função vazia:
function() {}
- jQuery oferece
$.noop()
, que simplesmente chama a função vazia acima. - É aceitável simplesmente inserir um valor de
false
ou0
?
No contexto ... tudo isso funciona sem gerar um erro no Chrome:
var a = 2;
(a === 1) ? alert(1) : function() {};
(a === 1) ? alert(1) : $.noop();
(a === 1) ? alert(1) : false;
(a === 1) ? alert(1) : 0;
EDIT: Muitas pessoas responderam com: "não faça isso! Mude a estrutura do código!" Isso me lembra de uma postagem em que alguém perguntou como farejar o navegador. Ele recebeu uma enxurrada de postagens dizendo: "NÃO FAÇA ISSO! É MAL", mas ninguém lhe disse como farejar o navegador . Esta não é uma revisão de código. Imagine que você esteja lidando com um código legado que não pode ser alterado e, sem alguma função transmitida, ele apresentará um erro. Ou, simplesmente, é assim que o cliente deseja e está me pagando . Portanto, respeitosamente, responda à pergunta : Qual é a melhor maneira de especificar uma função "sem operação" em JavaScript?
EDIT2: Que tal um desses?
true;
false;
0;
1;
null;
0
é efetivamente melhor (ou pior). Eu diria que a coisa certa a fazer é if (a === 1) doSomething();
e não usar ? :
quando não fizer sentido.
if (statement) action; else ;
false
ou 0
funcionará; null
é uma boa maneira de expressar no-op.