Que formas de criar funções conhece?
sobes.tech IA
Resposta da IA
Existem várias formas de criar funções em JavaScript, cada uma com as suas próprias características:
-
Declarações de Funções: Forma clássica de criar funções. São elevadas (hoisted) para cima do escopo, permitindo chamá-las antes da sua declaração.
// Declaração de função com function function greet(name) { return "Olá, " + name + "!"; } -
Expressões de Funções: A função é criada como parte de uma expressão e atribuída a uma variável. Não são elevadas (not hoisted) da mesma forma que as declarações de funções.
// Expressão de função const greet = function(name) { return "Olá, " + name + "!"; }; -
Funções Arrow: Forma sintática abreviada para expressões de funções. Diferem das funções clássicas nas características de
thise na ausência de seus próprios argumentos (arguments).// Função arrow const greet = (name) => { return "Olá, " + name + "!"; }; // Forma abreviada com retorno implícito const greetShort = (name) => "Olá, " + name + "!"; -
Funções construtoras: Usadas para criar objetos. São chamadas com a palavra-chave
new.// Função construtora function Person(name, age) { this.name = name; this.age = age; } // Criação de uma instância com o construtor const person1 = new Person("Aleksei", 30); -
Métodos de Classe: Em classes (açúcar sintático sobre herança prototípica), as funções são definidas como métodos.
// Declaração de classe com método class Greeter { greet(name) { return "Olá, " + name + "!"; } } // Criação de uma instância e chamada do método const greeter = new Greeter(); const message = greeter.greet("Mundo"); -
Expressões de Funções Imediatamente Invocadas (IIFE): Expressão de função que é executada imediatamente após a sua criação. Usada para criar um escopo local.
// IIFE (function() { // Código dentro do IIFE console.log("Esta função é executada imediatamente!"); })();
Cada método tem suas vantagens e desvantagens, e a escolha depende da tarefa e do contexto específicos.