Quali funzioni esistono in JavaScript?
sobes.tech AI
Risposta dell'AI
In JavaScript, esistono i seguenti tipi di funzioni:
-
Dichiarazioni di funzioni (Function Declarations): Sintassi di base per definire una funzione. Sono sollevate (hoisted) durante la compilazione.
function sayHello() { // Corpo della funzione console.log("Ciao!"); } -
Espressioni di funzione (Function Expressions): Una funzione viene assegnata a una variabile. Non sono sollevate. Possono essere nominate o anonime.
const greetUser = function(name) { // Corpo della funzione console.log(`Ciao, ${name}!`); }; -
Funzioni arrow (Arrow Functions): Sintassi più concisa introdotta in ES6. Hanno comportamenti specifici con
this.const add = (a, b) => a + b; -
Metodi degli oggetti (Object Methods): Funzioni definite come proprietà di un oggetto.
const user = { name: "Ivan", sayName: function() { console.log(this.name); } }; -
Funzioni generator (Generator Functions): Funzioni che possono sospendere e riprendere l'esecuzione usando
yield. Restituiscono un iteratore.function* counter() { let i = 0; while (true) { yield i++; } } -
Funzioni asincrone (Async Functions): Funzioni che lavorano con promesse e consentono di usare
awaitper attendere la risoluzione delle promesse.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Funzioni costruttore (Constructor Functions): Funzioni usate con l'operatore
newper creare oggetti. Approccio tradizionale di OOP prima dell'introduzione delle classi.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Petr", 30); -
Funzioni callback (Callback Functions): Funzioni passate come argomento ad un'altra funzione per essere eseguite in un momento specifico.
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); }); -
Espressioni di funzioni immediatamente invocate (IIFE - Immediately Invoked Function Expressions): Funzioni che vengono eseguite subito dopo la loro definizione. Utilizzate per creare un ambito locale.
(function() { // Codice locale const secret = "segreto"; console.log(secret); })();
Ogni tipo di funzione ha le sue caratteristiche di sintassi, ambito (this) e scenari di utilizzo.