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 🙂

  • Detectar inserções de nós do DOM com animações JavaScript e CSS
  • Animação CSS 3D Folding
  • Plug-in MooTools’ AutoCompleter
  • Substituição de fontes usando o Cufón

  • MaxArt

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


  • 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.