Sobes.tech
Intern

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

sobes.tech AI

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

Στο JavaScript υπάρχουν διάφοροι τύποι τελεστών που εκτελούν διαφορετικές λειτουργίες:

  • Τελεστές ανάθεσης: Αναθέτουν μια τιμή σε μια μεταβλητή.

    • = (απλή ανάθεση)
    • +=, -=, *=, /=, %= (συνδυασμένες αναθέσεις)
    • **= (ανάθεση με ύψωση στη δύναμη)
    • <<=, >>=, >>>= (μετατόπιση με ανάθεση)
    • &=, |=, ^= (bitwise λειτουργίες με ανάθεση)
    • &&=, ||=, ??= (λογικές αναθέσεις)
  • Τελεστές σύγκρισης: Συγκρίνουν δύο τιμές και επιστρέφουν boolean.

    • == (ισότητα)
    • != (ανισότητα)
    • === (ακέραιη ταυτότητα)
    • !== (ακέραιη ανισότητα)
    • > (μεγαλύτερο)
    • < (μικρότερο)
    • >= (μεγαλύτερο ή ίσο)
    • <= (μικρότερο ή ίσο)
  • Αριθμητικοί τελεστές: Εκτελούν μαθηματικές λειτουργίες.

    • + (άθροιση)
    • - (αφαίρεση)
    • * (πολλαπλασιασμός)
    • / (διαίρεση)
    • % (υπόλοιπο)
    • ** (ύψωση στη δύναμη)
    • ++ (αύξηση)
    • -- (μείωση)
  • Bitwise τελεστές: Εκτελούν λειτουργίες σε επίπεδο μεμονωμένων bits.

    • & (bitwise AND)
    • | (bitwise OR)
    • ^ (bitwise XOR)
    • ~ (bitwise NOT)
    • << (αριστερή μετατόπιση)
    • >> (δεξιά μετατόπιση με διατήρηση του σήματος)
    • >>> (δεξιά μετατόπιση με μηδενική συμπλήρωση)
  • Λογικοί τελεστές: Συνδυάζουν ή αντιστρέφουν boolean τιμές.

    • && (λογικό AND)
    • || (λογικό OR)
    • ! (λογικό NOT)
  • Τελεστές συμβολοσειρών: Εργάζονται με strings.

    • + (συνένωση)
  • Τελεστής τριών (ternary): Σύντομη μορφή του if...else.

    // συνθήκη ? έκφραση1 : έκφραση2
    let αποτέλεσμα = (a > b) ? "το a είναι μεγαλύτερο" : "το b είναι μεγαλύτερο ή ίσο με το a";
    
  • Τελεστής κόμματος: Εκτελεί πολλαπλές εκφράσεις και επιστρέφει την τελευταία.

    let x = 0;
    let y = (x++, 5); // το x γίνεται 1, το y γίνεται 5
    
  • Τελεστές σχέσης: Ελέγχουν τον τύπο και την ύπαρξη ιδιοτήτων.

    • in (ελέγχει αν υπάρχει ιδιότητα σε αντικείμενο)
    // 'propertyName' in object
    console.log('length' in [1, 2, 3]); // true
    
    • instanceof (ελέγχει αν ένα αντικείμενο είναι παράδειγμα κλάσης)
    // object instanceof className
    function Car() {}
    let το αυτοκίνητό μου = new Car();
    console.log(το αυτοκίνητό μου instanceof Car); // true
    
  • Μοναδικοί τελεστές:

    • + (μετατρέπει τον τελεστή σε αριθμό)
    console.log(+"5"); // 5 (αριθμός)
    
    • - (μετατρέπει τον τελεστή σε αριθμό και αντιστρέφει το σήμα)
    console.log(-"10"); // -10 (αριθμός)
    
  • Τύποι τελεστών:

    • typeof (επιστρέφει μια συμβολοσειρά που δείχνει τον τύπο του τελεστή)
    // typeof operand
    console.log(typeof 42); // "number"
    console.log(typeof "γεια"); // "string"
    
    • delete (διαγράφει ιδιότητα αντικειμένου ή στοιχείο πίνακα)
    // delete object.property
    // delete array[index]
    let αντικείμενο = { a: 1, b: 2 };
    delete αντικείμενο.a;
    console.log(αντικείμενο); // { b: 2 }
    
  • Ο τελεστής ομάδας ( ): Ορίζει τη σειρά εκτέλεσης των λειτουργιών.

    let z = (2 + 3) * 4; // Οι πράξεις μέσα στις παρενθέσεις εκτελούνται πρώτες
    
  • Ο τελεστής new: Δημιουργεί ένα νέο αντικείμενο.

    // new Constructor([arguments])
    let ημερομηνία = new Date();
    
  • Ο τελεστής super: Καλεί τη μέθοδο της γονικής κλάσης.

    class Γονέας {
      χαιρετισμός() {
        console.log("Γειά από τον Γονέα");
      }
    }
    class Παιδί extends Γονέας {
      χαιρετισμός() {
        super.χαιρετισμός(); // Κλήση μεθόδου γονέα
        console.log("Γειά από το Παιδί");
      }
    }
    
  • Ο τελεστής this: Αναφέρεται στο τρέχον πλαίσιο εκτέλεσης.

  • Ο τελεστής void: Εκτελεί μια έκφραση και επιστρέφει undefined.

    // void έκφραση
    console.log(void 0); // undefined
    
  • Οι τελεστές nullish coalescing και optional chaining:

    • ?? (nullish coalescing operator - επιστρέφει τον δεξιό τελεστή αν ο αριστερός είναι null ή undefined)
    // left ?? right
    let τιμή = undefined ?? "προεπιλογή"; // η τιμή θα είναι "προεπιλογή"
    
    • ?. (optional chaining operator - ασφαλής πρόσβαση σε ιδιότητες, αν η ενδιάμεση τιμή είναι null ή undefined, δεν ρίχνει σφάλμα)
    // object?.property?.method()
    let χρήστης = { διεύθυνση: { πόλη: "NYC" } };
    console.log(χρήστης.διεύθυνση?.ταχυδρομικόςΚωδικός); // undefined (χωρίς σφάλμα)