JavaScript Evita l'inserimento del punto e virgola nelle dichiarazioni di reso


Esempio

La convenzione di codifica JavaScript prevede di posizionare la parentesi iniziale dei blocchi sulla stessa riga della loro dichiarazione:

if (...) {

}

function (a, b, ...) {

}

Invece della riga successiva:

if (...)
{

}

function (a, b, ...) 
{

}

Questo è stato adottato per evitare l'inserimento del punto e virgola nelle istruzioni di ritorno che restituiscono oggetti:

function foo() 
{
    return // A semicolon will be inserted here, making the function return nothing
    {
        foo: 'foo'
    };
}

foo(); // undefined

function properFoo() {
    return {
        foo: 'foo'
    };
}

properFoo(); // { foo: 'foo' }

Nella maggior parte delle lingue il posizionamento della parentesi di partenza è solo una questione di preferenze personali, in quanto non ha alcun impatto reale sull'esecuzione del codice. In JavaScript, come hai visto, posizionare la parentesi iniziale nella riga successiva può portare a errori silenziosi.