Esse modelo de função eu ainda não conhecia, ela é definida e chamada automaticamente, é isso ? sobre utilizar funções pra envolver o escopo do programa, posso utilizar até mesmo como uma medida de seguranca para não deixar os códigos do sistema global ne ?
Aquele finalzinho alí ();
"chama a função"
javascript é meio maluco mesmo (e eu adoro)
Pra vc entender melhor:
Isso:
function meuPrograna(){
📄
}
é igual a isso:
(function(){📄})();
Agora, se vc quer ver como seria um "programa" real, em node seria mais ou menos isso:
onst express = require('express')
const app = express();
//
// Biliotecas
//
require('./libs/cors')(app)
require('./libs/bodyParser')(app)
require('./libs/knex')(app)
require('./libs/auth')(app)
require('./libs/errors')(app)
//
// API
//
require('./api/hello')(app)
require('./api/usuarios')(app)
//
// start
//
require('./libs/start')(app)
faz sentido, mano. e sim, javascript é meio louco kskss mas to curtindo muito, mas ainda tô meio perdido e é muito massa ter um feedback desses como o seu. obrigado mesmo, maninho
Exatamente, a função é definida e executada logo em seguida automaticamente.
Todos os frameworks js que conheço geram o js final dessa forma, dentro dessa função anônima auto executada.
Pra entender melhor são dois parenteses ()(), dentro do primeiro vai a função anonima e o segundo faz com que a função dentro do primeiro seja executada (function(){})().
Quanto a segurança, sim, faz sentido pensar por esse lado também, mas sempre aliado com outras práticas