Funções em JavaScript

Compartilhado por um usuário do Flashcards.gg · gerado com IA · Denunciar este conjunto

Estes cartões cobrem os principais conceitos de funções em JavaScript, incluindo sintaxe, arrow functions, escopo e assincronicidade, destinados a estudantes de programação.

50 cartões Português Nível: Intermediário Programação Publicado
Toque no cartão para virar

Cartões · 50

O que é uma Função?
Bloco reutilizável de código projetado para executar uma tarefa específica quando chamado. Sintaxe: function nome() { ... }
Declaração de Função (Function Declaration)
Forma padrão com a palavra-chave function e nome obrigatório, sofrendo hoisting completo. Sintaxe: function somar(a, b) { return a + b; }
Expressão de Função (Function Expression)
Atribuição de uma função a uma variável, não sendo içada antes da definição. Sintaxe: const somar = function(a, b) { return a + b; };
Arrow Function
Sintaxe concisa introduzida no ES6, que não possui seu próprio this nem arguments. Sintaxe: const somar = (a, b) => a + b;
Arrow Function com corpo de bloco
Versão com chaves exigindo a palavra-chave return para emitir valores. Sintaxe: const calc = (x) => { const y = x * 2; return y; };
Parâmetros de Função
Variáveis listadas na definição da função que recebem valores. Sintaxe: function saudar(nome) { console.log(nome); }
Argumentos de Função
Valores reais passados para a função durante a sua chamada. Exemplo: saudar('Maria');
Comando return
Interrompe a execução da função e retorna um valor específico ao chamador. Sintaxe: function dobro(n) { return n * 2; }
Retorno Implícito
Retorno automático em arrow functions de linha única sem chaves. Sintaxe: const triplo = n => n * 3;
Retorno Padrão (undefined)
Resultado devolvido por qualquer função que não contenha uma instrução return explícita. Exemplo: function vazio() {} // retorna undefined
Parâmetro Padrão (Default Parameters)
Define valores predefinidos caso nenhum argumento seja passado. Sintaxe: function saudacao(nome = 'Visitante') { return nome; }
Parâmetro Rest (...)
Permite representar um número indefinido de argumentos como um array. Sintaxe: function total(...valores) { return valores.reduce((a, b) => a + b); }
Objeto arguments
Objeto tipo array disponível em funções tradicionais contendo os argumentos passados. Sintaxe: function contar() { return arguments.length; }
Função Anônima
Função criada sem um identificador de nome, usada como callback ou em expressões. Sintaxe: setTimeout(function() { console.log('Olá'); }, 1000);
Função Nomeada
Função que possui um identificador explicito, útil para recursão e depuração de erros. Sintaxe: const f = function operacao() { ... };
Funções de Primeira Classe (First-Class Functions)
Conceito em que funções são tratadas como valores normais, podendo ser atribuídas a variáveis ou passadas como parâmetros.
Função de Ordem Superior (Higher-Order Function)
Função que recebe outra função como argumento ou retorna uma nova função. Exemplo: array.map(item => item * 2);
Função Callback
Função passada para outra como argumento para ser invocada posteriormente. Sintaxe: function processar(cb) { cb(); }
IIFE (Immediately Invoked Function Expression)
Função executada imediatamente após ser criada, isolando escopo. Sintaxe: (function() { console.log('Executou!'); })();
Escopo de Função
Variáveis declaradas dentro de uma função são locais e inacessíveis fora dela. Exemplo: function teste() { var local = 10; }
Escopo Léxico
Capacidade de uma função interna acessar variáveis do contexto onde ela foi definida fisicamente no código.
Closure
Combinação de uma função com a referência ao seu escopo léxico original. Sintaxe: function externa() { let x = 1; return () => x; }
Hoisting de Função
Comportamento de mover declarações de funções para o topo do escopo antes da execução, permitindo chamá-las antes da sua definição.
Palavra-chave this em Funções
Refere-se ao objeto de contexto no qual a função é executada, variando de acordo com o modo de chamada.
Comportamento do this na Arrow Function
Não vincula seu próprio this, capturando o valor do this do escopo delimitador no momento em que é criada.
Método Function.prototype.call()
Chama uma função passando explicitamente o valor de this e argumentos individuais. Sintaxe: func.call(objeto, arg1, arg2);
Método Function.prototype.apply()
Chama uma função definindo o valor de this e passando argumentos como um array. Sintaxe: func.apply(objeto, [arg1, arg2]);
Método Function.prototype.bind()
Cria uma nova função que, ao ser chamada, tem seu this fixado ao valor fornecido. Sintaxe: const bound = func.bind(objeto);
Função Construtora
Usada como molde para criar novos objetos quando combinada com o operador new. Sintaxe: function Carro(marca) { this.marca = marca; }
Operador new
Instancia um novo objeto, vincula seu protótipo e define o this para o novo objeto na função construtora. Sintaxe: const c = new Carro('Fiat');
Função Pura (Pure Function)
Função que sempre retorna o mesmo resultado para os mesmos argumentos e não produz efeitos colaterais. Sintaxe: const soma = (a, b) => a + b;
Efeito Colateral (Side Effect)
Modificação de qualquer estado fora do escopo local da função durante a sua execução, como alterar uma variável global.
Recursão em Funções
Técnica em que uma função chama a si mesma até atingir uma condição base de parada. Sintaxe: function f(n) { return n <= 1 ? 1 : n * f(n - 1); }
Condição Base (Base Case)
Condição necessária em funções recursivas para interromper chamadas adicionais e evitar loops infinitos.
Pilha de Chamadas (Call Stack)
Estrutura de controle que gerencia a ordem em que as funções são chamadas e finalizadas no motor JavaScript.
Estouro de Pilha (Stack Overflow)
Erro gerado quando a pilha de chamadas atinge o limite máximo por recursão infinita ou profunda demais.
Função Assíncrona (async/await)
Função que opera de forma assíncrona usando a event loop e sempre retorna uma Promise. Sintaxe: async function buscar() { await carregar(); }
Palavra-chave await
Pausa a execução da função assíncrona até que uma Promise seja resolvida ou rejeitada. Sintaxe: const dado = await fetch(url);
Função Geradora (Generator Function)
Função especial que pode ser pausada e continuada no tempo usando yield. Sintaxe: function* gerar() { yield 1; yield 2; }
Comando yield
Pausa a execução de uma função geradora e retorna um valor ao iterador externo. Sintaxe: yield valor;
Método de Objeto
Função definida como propriedade dentro de um objeto. Sintaxe: const obj = { falar() { console.log('Olá'); } };
Getter em Métodos
Liga uma propriedade de um objeto a uma função que é chamada quando a propriedade é acessada. Sintaxe: get nomeCompleto() { return this.nome; }
Setter em Métodos
Liga uma propriedade de um objeto a uma função chamada quando se tenta atribuir um valor. Sintaxe: set idade(v) { this._idade = v; }
Currying
Processo de transformar uma função com múltiplos argumentos em uma sequência de funções que recebem um argumento cada. Sintaxe: f(a)(b);
Composição de Funções
Combinação de duas ou mais funções para produzir uma nova função, onde a saída de uma vira a entrada da outra. Sintaxe: const f = x => g(h(x));
Memoization
Técnica de otimização que armazena em cache o resultado de chamadas de funções com base nos seus parâmetros para acelerar execuções futuras.
Debounce de Função
Padrão que adia a execução da função até que um período de inatividade transcorra desde a sua última invocação.
Throttle de Função
Padrão que limita a frequência com que uma função pode ser disparada durante um intervalo regular de tempo.
Função Polifill
Pedaço de código ou função usada para fornecer recursos modernos em ambientes de navegadores antigos que não os suportam nativamente.
Função Autoexecutável Assíncrona
IIFE com suporte assíncrono útil para executar await no nível raiz em módulos mais antigos. Sintaxe: (async () => { await tarefa(); })();

Conjuntos relacionados

Mais em Programação →