O JavaScript está repleto de pequenas e interessantes facetas que podem fazer você tropeçar, rir ou chorar. Este post é sobre uma delas. Aqueles que já trabalharam com funções JavaScript e, de certa forma, com “classes” JavaScript (como as usadas com o MooTools), estão bem familiarizados com a função new palavra-chave. Com a palavra-chave new o senhor tem a possibilidade de passar argumentos com a chamada da função, mas sabia que, se não tiver argumentos, não precisa dos parênteses?
function MyClass() {
console.log('Initialized!');
//Set a property, as an example
this.dirty = true;
}
var instance = new MyClass;
// >> "Initialized!''
Então, por que estou dizendo isso ao senhor? Não faço a menor ideia. É apenas uma daquelas informações divertidas que o senhor pode acrescentar ao seu cérebro 🙂
-
MaxArt
Kostas Loupasakis
Isso foi algo que sempre me deixou curioso, mas nunca me preocupei em perguntar/pesquisar. Presumo que o mesmo ocorra no php?
Asmor
Vou arquivar isso ao lado dos pontos e vírgulas opcionais e das tags de fechamento opcionais no HTML5: coisas que são interessantes de saber, mas se eu vir ao revisar o código de alguém, posso ficar irritado.




É mesmo? Isso é irônico, pois o Google Closure Compiler realmente remove os parênteses quando eles podem ser omitidos.