Jakie sposoby tworzenia funkcji znasz?
sobes.tech AI
Odpowiedź od AI
Istnieje kilka sposobów tworzenia funkcji w JavaScript, z których każdy ma swoje cechy:
-
Deklaracje funkcji: Klasyczny sposób tworzenia funkcji. Są podnoszone (hoisted) na szczyt zakresu, co pozwala na ich wywoływanie przed deklaracją.
// Deklaracja funkcji za pomocą function function greet(name) { return "Cześć, " + name + "!"; } -
Wyrażenia funkcji: Funkcja jest tworzona jako część wyrażenia i przypisywana do zmiennej. Nie są one (not hoisted) podnoszone w takim samym zakresie jak deklaracje funkcji.
// Wyrażenie funkcji const greet = function(name) { return "Cześć, " + name + "!"; }; -
Funkcje strzałkowe (Arrow Functions): Skrócona składnia dla wyrażeń funkcji. Różnią się od klasycznych funkcji cechami
thisi brakiem własnych argumentów (arguments).// Funkcja strzałkowa const greet = (name) => { return "Cześć, " + name + "!"; }; // Skrócona forma z domyślnym zwrotem const greetShort = (name) => "Cześć, " + name + "!"; -
Funkcje konstrukcyjne: Używane do tworzenia obiektów. Wywołuje się je słowem kluczowym
new.// Funkcja konstrukcyjna function Person(name, age) { this.name = name; this.age = age; } // Tworzenie instancji za pomocą konstruktora const person1 = new Person("Aleksei", 30); -
Metody klasy: W klasach (słodzik składniowy nad dziedziczeniem prototypowym) funkcje są definiowane jako metody.
// Deklaracja klasy z metodą class Greeter { greet(name) { return "Cześć, " + name + "!"; } } // Tworzenie instancji i wywołanie metody const greeter = new Greeter(); const message = greeter.greet("Świecie"); -
Wyrażenia funkcji natychmiast wywoływane (IIFE): Wyrażenie funkcji, które jest wykonywane natychmiast po utworzeniu. Używane do tworzenia lokalnego zakresu.
// IIFE (function() { // Kod wewnątrz IIFE console.log("Ta funkcja jest wykonywana od razu!"); })();
Każda metoda ma swoje zalety i wady, a wybór zależy od konkretnego zadania i kontekstu.