Sobes.tech
Intern

Ποιες λειτουργίες υπάρχουν στη JavaScript;

sobes.tech AI

Απάντηση από AI

Στην JavaScript, υπάρχουν οι ακόλουθοι τύποι συναρτήσεων:

  • Δηλώσεις συναρτήσεων (Function Declarations): Βασική σύνταξη για τον ορισμό μιας συνάρτησης. Υψώνονται (hoisted) κατά τη μεταγλώττιση.

    function sayHello() {
      // Σώμα της συνάρτησης
      console.log("Γειά!");
    }
    
  • Εκφράσεις συναρτήσεων (Function Expressions): Μια συνάρτηση ανατίθεται σε μια μεταβλητή. Δεν υψώνονται. Μπορούν να έχουν όνομα ή να είναι ανώνυμες.

    const greetUser = function(name) {
      // Σώμα της συνάρτησης
      console.log(`Γειά, ${name}!`);
    };
    
  • Βέλη συναρτήσεων (Arrow Functions): Πιο συνοπτική σύνταξη που εισήχθη στο ES6. Έχουν συγκεκριμένες συμπεριφορές με το this.

    const add = (a, b) => a + b;
    
  • Μέθοδοι αντικειμένων (Object Methods): Συναρτήσεις που ορίζονται ως ιδιότητες ενός αντικειμένου.

    const user = {
      name: "Ιβάν",
      sayName: function() {
        console.log(this.name);
      }
    };
    
  • Γεννήτριες συναρτήσεις (Generator Functions): Συναρτήσεις που μπορούν να παύσουν και να συνεχίσουν την εκτέλεσή τους χρησιμοποιώντας το yield. Επιστρέφουν έναν επαναλήπτη.

    function* counter() {
      let i = 0;
      while (true) {
        yield i++;
      }
    }
    
  • Ασύγχρονες συναρτήσεις (Async Functions): Συναρτήσεις που δουλεύουν με υποσχέσεις και επιτρέπουν τη χρήση του await για αναμονή ολοκλήρωσης.

    async function fetchData() {
      const response = await fetch("https://api.example.com/data");
      const data = await response.json();
      return data;
    }
    
  • Κατασκευαστικές συναρτήσεις (Constructor Functions): Συναρτήσεις που χρησιμοποιούνται με τον τελεστή new για τη δημιουργία αντικειμένων. Παραδοσιακή προσέγγιση πριν από την εμφάνιση των κλάσεων.

    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    const person1 = new Person("Πέτρος", 30);
    
  • Λειτουργίες επιστροφής κλήσεων (Callback Functions): Συναρτήσεις που περνιούνται ως ορίσματα σε άλλες συναρτήσεις για εκτέλεση σε συγκεκριμένη στιγμή.

    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 - Immediately Invoked Function Expressions): Συναρτήσεις που εκτελούνται αμέσως μετά τον ορισμό τους. Χρησιμοποιούνται για τη δημιουργία τοπικού πεδίου.

    (function() {
      // Τοπικός κώδικας
      const secret = "μυστικό";
      console.log(secret);
    })();
    

Κάθε τύπος συνάρτησης έχει τα δικά του χαρακτηριστικά σύνταξης, πεδίου (this) και σενάρια χρήσης.