Funções públicas x privadas em JavaScript
Em JavaScript, as funções podem ser definidas como públicas
ou privadas
Uma função pública é aquela que pode ser acessada e chamada em qualquer lugar do seu código. As funções públicas são normalmente usadas para expor uma funcionalidade em que outras partes da aplicação precisam interagir ou expor como parte de uma biblioteca ou API.
Ex.
function greet(name) {
console.log('Hello, ' + name + '!');
}
Podemos criar funções privadas dentro de um objeto por meio de closures
. Isso significa que essas funções só podem ser acessadas dentro do escopo do objeto, não sendo possível acessá-las diretamente fora do objeto.
Ex.
Temos um objeto
api
com uma funçãoget
que precisa chamar uma função privadarequest
para fazer a requisição HTTP. Podemos definir a funçãorequest
dentro do escopo da funçãoget
, tornando-a privada:
const api = {
get: function(url) {
function request() {
// código para fazer a requisição HTTP
}
request();
}
};
Dessa maneira, a função
request
só pode ser acessada dentro do escopo da funçãoget
e não pode ser chamada diretamente de fora do objetoapi
. Isso ajuda a manter o código mais seguro e modular, evitando que funções privadas sejam alteradas ou acessadas impropriamente.