Koje funkcije postoje u JavaScriptu?
sobes.tech АИ
Одговор од АИ
У JavaScript-u postoje sledeće vrste funkcija:
-
Deklaracije funkcija (Function Declarations): Osnovni sintaks za definisanje funkcije. Hoistovane su pri kompilaciji.
function sayHello() { // Telo funkcije console.log("Zdravo!"); } -
Funkcionalni izrazi (Function Expressions): Funkcija je dodeljena promenljivoj. Nisu hoistovane. Mogu biti imenovane ili anonimne.
const greetUser = function(name) { // Telo funkcije console.log(`Zdravo, ${name}!`); }; -
Strelaste funkcije (Arrow Functions): Kraći sintaks, predstavljen u ES6. Imaju specifične osobine u ponašanju
this.const add = (a, b) => a + b; -
Metode objekata (Object Methods): Funkcije definisane kao svojstva objekta.
const user = { name: "Ivan", sayName: function() { console.log(this.name); } }; -
Generator funkcije (Generator Functions): Funkcije koje mogu zaustaviti i nastaviti izvršavanje pomoću
yield. Vraćaju iterator.function* counter() { let i = 0; while (true) { yield i++; } } -
Asinhrone funkcije (Async Functions): Funkcije koje rade sa promisima i omogućavaju korišćenje
awaitza čekanje na izvršenje.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Konstruktorske funkcije (Constructor Functions): Funkcije koje se koriste sa
newza kreiranje objekata. Tradicionalni pristup pre pojave klasa.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Petr", 30); -
Funkcije poziva nazad (Callback Functions): Funkcije koje se prosleđuju kao argumenti drugim funkcijama za izvršenje u određenom trenutku.
function processArray(arr, callback) { for (let i = 0; i < arr.length; i++) { callback(arr[i]); } } processArray([1, 2, 3], function(item) { console.log(item * 2); }); -
IIFE - Odmah pozvane funkcije (Immediately Invoked Function Expressions): Funkcije koje se izvršavaju odmah nakon definisanja. Koriste se za kreiranje lokalnog opsega.
(function() { // Lokalni kod const secret = "tajna"; console.log(secret); })();
Svaki tip funkcije ima svoje osobine u sintaksi, opsegu (this) i scenarijima korišćenja.