Context engineering
Una funzione è un blocco di codice riutilizzabile che esegue un’operazione specifica.
Si definisce con la parola chiave function, seguita da un nome, eventuali parametri tra parentesi tonde e il corpo tra parentesi graffe.
function saluta() {
console.log("Ciao mondo!");
}
// Richiamo
saluta();
➡️ Output:
Ciao mondo!
Le funzioni possono ricevere parametri (input) e restituire un valore di ritorno (output) con la parola chiave return.
function somma(a, b) {
return a + b;
}
let risultato = somma(5, 7);
console.log(risultato);
➡️ Output:
12
Introdotte in ES6, le funzioni freccia sono una sintassi più compatta, spesso usata con funzioni anonime o callback.
// Funzione classica
function quadrato(x) {
return x * x;
}
// Funzione freccia equivalente
const quadratoArrow = (x) => x * x;
console.log(quadrato(4)); // 16
console.log(quadratoArrow(4)); // 16
👉 Se il corpo contiene una sola istruzione, le graffe e return possono essere omessi.
👉 Attenzione: le funzioni freccia non hanno il proprio this, quindi si comportano diversamente in contesti di oggetti.
Lo scope definisce la visibilità delle variabili:
Globale: dichiarata fuori da qualsiasi funzione → visibile ovunque.
Locale: dichiarata dentro una funzione → visibile solo lì.
Block scope (let, const): visibile solo all’interno delle parentesi graffe in cui è definita.
let globale = "Sono globale";
function esempioScope() {
let locale = "Sono locale";
console.log(globale); // ✅ accessibile
console.log(locale); // ✅ accessibile
}
esempioScope();
console.log(globale); // ✅ accessibile
// console.log(locale); ❌ errore: locale non definita
Un palindromo è una parola che si legge uguale in avanti e indietro (es. "anna", "radar").
function isPalindromo(parola) {
let parolaInvertita = parola.split("").reverse().join("");
return parola === parolaInvertita;
}
// Test
console.log(isPalindromo("anna")); // true
console.log(isPalindromo("cane")); // false
const isPalindromo = (parola) => {
return parola === parola.split("").reverse().join("");
};
console.log(isPalindromo("radar")); // true
Le funzioni permettono di organizzare e riutilizzare il codice.
Possono avere parametri in ingresso e valori di ritorno in uscita.
Le funzioni freccia rendono la sintassi più compatta, ma hanno differenze con this.
Lo scope regola la visibilità delle variabili.
Applicazione pratica: controllo di palindromi.
Commenti
Posta un commento