Ce funcții există în JavaScript?
sobes.tech AI
Răspuns de la AI
În JavaScript, există următoarele tipuri de funcții:
-
Declarații de funcții (Function Declarations): Sintaxă de bază pentru definirea unei funcții. Sunt ridicate (hoisted) în timpul compilării.
function sayHello() { // Corpul funcției console.log("Salut!"); } -
Expresii de funcții (Function Expressions): O funcție este atribuită unei variabile. Nu sunt ridicate. Pot fi numite sau anonime.
const greetUser = function(name) { // Corpul funcției console.log(`Salut, ${name}!`); }; -
Funcții săgeată (Arrow Functions): Sintaxă mai concisă introdusă în ES6. Au comportamente specifice cu
this.const add = (a, b) => a + b; -
Metode ale obiectelor (Object Methods): Funcții definite ca proprietăți ale unui obiect.
const user = { name: "Ivan", sayName: function() { console.log(this.name); } }; -
Funcții generator (Generator Functions): Funcții care pot suspenda și relua execuția folosind
yield. Returnează un iterator.function* counter() { let i = 0; while (true) { yield i++; } } -
Funcții asincrone (Async Functions): Funcții care lucrează cu promisiuni și permit utilizarea
awaitpentru a aștepta finalizarea promisiunilor.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Funcții constructor (Constructor Functions): Funcții utilizate cu operatorul
newpentru a crea obiecte. Abordare tradițională OOP înainte de apariția claselor.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Petr", 30); -
Funcții callback (Callback Functions): Funcții transmise ca argumente altor funcții pentru a fi executate la un anumit moment.
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); }); -
Expresii de funcții invocate imediat (IIFE - Immediately Invoked Function Expressions): Funcții care sunt executate imediat după definire. Folosite pentru crearea unui scop local.
(function() { // Cod local const secret = "secreț"; console.log(secret); })();
Fiecare tip de funcție are propriile caracteristici de sintaxă, domeniu (this) și scenarii de utilizare.