No internet connection
  1. Home
  2. Dúvidas Gerais

Function, Arrow Function e This

Por Alexandre Alves de Souza @AlexandreAlves
    2023-10-31 15:18:44.548Z

    **1. Functions:
    **
    As functions tradicionais, também conhecidas como function declarations ou function expressions, são os pilares fundamentais da linguagem. Elas são versáteis, permitindo a declaração de blocos de código reutilizáveis e a passagem de parâmetros.

    // Declarando uma função tradicional
    function saudacao(nome) {
        return "Olá, " + nome + "!";
    }
    
    console.log(saudacao("Mágico")); // Saída: Olá, Mágico!
    

    ** Arrow Functions: A Magia da Concisão
    **
    As arrow functions são uma adição mais recente ao repertório de feitiços do JavaScript, introduzindo uma sintaxe mais concisa e clara. Elas são especialmente úteis para funções simples e anônimas, proporcionando uma maneira elegante de expressar lógica de código.

    // Declarando uma arrow function
    const saudacaoArrow = (nome) => "Olá, " + nome + "!";
    
    console.log(saudacaoArrow("Feiticeiro")); // Saída: Olá, Feiticeiro!
    
    

    **Ofamoso "this":
    **
    Uma diferença notável entre functions e arrow functions é como elas lidam com o contexto de this. Enquanto as functions tradicionais têm um this que pode variar com base em como a função é chamada, as arrow functions capturam o this do contexto circundante. Isso pode ser uma diferença sutil, mas poderosa, em certas situações.

    // Exemplo de diferença no uso de "this"
    function FuncaoTradicional() {
        this.valor = 42;
    
        setTimeout(function () {
            // Dentro de uma função tradicional, "this" pode ser diferente.
            console.log(this.valor); // Saída: undefined
        }, 1000);
    }
    
    function FuncaoArrow() {
        this.valor = 42;
    
        setTimeout(() => {
            // Arrow function captura o "this" do contexto circundante.
            console.log(this.valor); // Saída: 42
        }, 1000);
    }
    

    **Conclusão:
    **
    Se as functions tradicionais são confiáveis e robustas de um arcano experiente, as arrow functions são os encantamentos ágeis e concisos dos feiticeiros modernos. Cada uma tem seu papel na caixa de ferramentas do desenvolvedor, e entender suas nuances permite que conjuremos código de maneira mais eficiente e elegante. Portanto, que a magia das funções continue a guiar nossas jornadas pelo vasto reino do JavaScript!

    • 1 respostas
    1. Christian Amsberg Janner @calemao
        2023-10-31 15:47:13.657Z

        Muito bacana esse conteúdo, extremamente importante, funções são uma das bases fundamentais de Javascript!