DEV Community

Junior Alves
Junior Alves

Posted on

Funções (function)

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')
    }
Enter fullscreen mode Exit fullscreen mode

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')
    }
Enter fullscreen mode Exit fullscreen mode

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)
    }
Enter fullscreen mode Exit fullscreen mode

Á 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')
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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)