Cum sa definesti si sa folosesti functii in JavaScript
In this tutorial, you'll learn about Cum sa definesti si sa folosesti functii in JavaScript. We cover key concepts, practical examples, and best practices.
Functiile sunt elementele de baza ale JavaScript-ului. Acest ghid iti arata cum sa definesti functii moderne, sa folosesti parametri flexibili si arrow functions.
Quick Fix
1. Functii clasice vs arrow functions
Functiile clasice au propriul this, arrow functions mostenesc this din context:
// Clasica
function add(a, b) {
return a + b;
}
// Arrow function
const addArrow = (a, b) => a + b;
console.log(add(2, 3));
console.log(addArrow(2, 3));
5
5
2. Parametri impliciti
Poti seta valori implicite pentru parametri:
function greet(name = 'Oaspete', greeting = 'Salut') {
return `${greeting}, ${name}!`;
}
console.log(greet('Ion'));
console.log(greet());
Salut, Ion!
Salut, Oaspete!
3. Rest parameters
Rest params colecteaza argumentele ramase intr-un array:
function sum(...numbers) {
return numbers.reduce((acc, n) => acc + n, 0);
}
console.log(sum(1, 2, 3, 4, 5));
15
4. Spread pentru apeluri
Spread desface un array ca argumente individuale:
const numbers = [5, 10, 15];
console.log(Math.max(...numbers));
15
5. Functii ca valori (first-class)
Functiile pot fi pasate ca argumente:
const operations = {
double: n => n * 2,
square: n => n * n
};
function applyOperation(arr, op) {
return arr.map(op);
}
console.log(applyOperation([1, 2, 3], operations.double));
console.log(applyOperation([1, 2, 3], operations.square));
[2, 4, 6]
[1, 4, 9]
Prevention
- Foloseste arrow functions pentru callback-uri si expresii scurte
- Foloseste functii clasice cand ai nevoie de propriul
this - Seteaza valori implicite pentru parametri optionali
- Foloseste rest params in loc de obiectul
arguments
Common Mistakes
- A confunda
argumentscu rest params --argumentseste un array-like, nu un array adevarat - A uita
returnin arrow functions cu corp --const fn = () => { x }returneazaundefined, nux - A nu returna in functii cu corp --
{}necesitareturnexplicit - A folosi arrow functions ca metode -- arrow functions nu au propriul
this, deci nu functioneaza ca metode - A uita ca parametrii impliciti nu functioneaza cu
undefinedtrimis explicit --greet(undefined)foloseste valoarea implicita
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP si Durga Antivirus Pro. Instrumentele DodaTech se integreaza perfect cu JavaScript pentru productivitate si securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro