Função é um bloco de código ou subprogramas composto por uma sequencia de instruções que podem ser chamado por outros códigos.
Em javascript, funções são objetos de primeira classe, ou seja ela é tratada como qualquer outro valor como as variáveis. E pode ser definidas de 2 formas básicas:
Function declaration
É a forma mais comum de definir uma função e segue a seguinte sintax
function name() {
console.log('menu nome')
}
Function expression
Essa é a segunda forma de definir funções e segue a mesma sintax de declaração e inicialização de variáveis
const name = function() {
console.log('Menu nome')
}
A diferença básica entre as duas formas, é com relação ao hosting introduzido no javascript a partir no ES2015, onde o motor do javascript coloca as funções declaradas (function declaration) na memoria antes de qualquer outro código assim como faz com variáveis. É importante saber que isso só acontece com function declaration e não com function express.
Hosting é uma definição estrita de elevação que sugere que as declarações de variáveis e funções são fisicamente movidas para o topo do seu código. Mas na pratica, no momento da compilação, as variáveis e funções são colocadas primeiro na memoria. É por isso que podemos chamar uma função mesmo antes de declara-la.
Parâmetros e argumentos.
Uma característica essencial das funções é que todas podem receber parâmetros.
function showName(name) {
console.log(name)
}
Á variável "name" entre os colchetes é o parâmetro que essa função pode receber, se nenhum parâmetro for passado para a função, o javascript define esse parâmetro como "undefined"
Para utilizarmos o parâmetro basta chamarmos a função passando o argumento que queremos que o parâmetro receba
showName('carlos')
Return
Uma característica importante das funções é que ela segue o escopo de bloco, portanto todos dado criada dentro da função só fica disponível dentro da função, por causa do escopo.
Para expor esse dado para fora da função é necessário utilizarmos o método de return, e assim conseguirmos obter os dados processados pela função.
function soma(a, b) {
return a + b
}
const result = soma(2, 3)
Neste caso o resultado da soma de a + b processado pela função será retornada e guardada na variável result. E poderemos usar esse dado em outras partes do código.
Top comments (0)