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.