MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Στο κεφάλαιο αυτό περιγράφονται όλοι οι τελεστές, οι εκφράσεις και οι λέξεις κλειδιά της JavaScript.

Εκφράσεις και τελεστές ανά κατηγορία

Για αλφαβητική ταξινόμηση δείτε το μενού στα αριστερά.

Πρωταρχικές εκφράσεις

Βασικές λέξεις κλειδιά και γενικές εκφράσεις στην JavaScript.

this
Η λέξη κλειδί this αναφέρεται στο προγραμματιστικό πλαίσιο της εκάστοτε συνάρτησης.
function
Η λέξη κλειδί function ορίζει μια εκφραση δήλωσης συνάρτησης (function).
class
Η λέξη κλειδί class ορίζει μια έκφραση δήλωσης κλάσης(class).
function*
Η λέξη κλειδί function* ορίζει μια έκφραση δήλωσης συνάρτησης γεννήτριας (generator function).
yield
Διακόπτει και συνεχίζει μια συνάρτηση γεννήτρια.
yield*
Αναθέτει σε μια άλλη συνάρτηση γεννήτριας ή σε κάποιο επαναλήψιμο αντικείμενο.
async function*
Η async function ορίζει μια έκφραση δήλωσης ασυγχρονης συνάρτησης (async function).
await
Διακόπτει και συνεχίζει μια ασύγχρονη συνάρτηση, και περιμένει την ασύχρονη απάντηση/απόρριψη από αυτή.
[]
Βασική σύνταξη αρχικοποίησης ενός πίνακα (Array).
{}
Βασική σύνταξη αρχικοποίησης ενός αντικειμένου (Object).
/ab+c/i
Βασική σύνταξη αρχικοποίησης μιας κοινής έκφρασης (Regular Expression).
( )
Τελεστής ομαδοποίησης.

Εκφράσεις αριστερής πλευράς (Left-hand-side)

Οι τιμές στο αριστερό μέρος αποτελούν τον προορισμό της ανάθεσης.

Property accessors
Οι τελεστές μέλους παρέχουν πρόσβαση στις ιδιότητες ή στις μεθόδους ενός αντικειμένου.
(object.property and object["property"]).
new
Ο τελεστής new δημιουργεί ένα στιγμιότυπο ενός κατασκευαστή (constructor).
new.target
Στους κατασκευαστές, new.target αναφέρεται στους κατασκευαστές που κλήθηκαν από το new.
super
Η λέξη κλειδί super καλεί τον κατασκευαστή του γονέα (parent constructor).
...obj
Η σύνταξη διάδοσης (Spread syntax) επιτρέπει σε μια έκφραση να εξαπλωθεί σε σημεία όπου αναμένονται πολλαπλά ορίσματα (πχ. κλήση συνάρτησης) ή πολλαπλά στοιχεία (πχ αρχική δήλωση πινάκων).

Επαυξηση και μείωση

Τελεστές Postfix/prefix επαύξησης και  postfix/prefix μείωσης.

A++
Τελεστής αύξησης μετά την μεταβλητή (Postfix).
A--
Τελεστής μείωσης μετά την μεταβλητή (Postfix).
++A
Τελεστής αύξησης πριν την μεταβλητή (Prefix).
--A
Τελεστής μείωσης πριν την μεταβλητή (Prefix).

Μοναδιαίοι τελεστές

Μοναδιαία είναι η διαδικασία που απαιτεί μόνο εναν τελεστή.

delete
Ο τελεστής delete διαγράφει ένα χαρακτηριστικό από ένα αντικείμενο.
void
Ο τελεστής void απορρίπτει την επιστρεφόμενη τιμή μιας έκφρασης.
typeof
Ο τελεστής typeof προσδιορίζει τον τύπο ενός δεδομένου αντικειμένου.
+
Ο τελεστής unary plus μετατρέπει τον όρο πράξης του σε αριθμό (Number type).
-
Ο τελεστής unary negation μετατρέπει τον όρο πράξης του σε αριθμό (Number type) και ακολούθως τον μετατρέπει σε αρνητικό.
~
Τελεστής άρνησης σε επίπεδο bit (Bitwise NOT).
!
Τελεστής λογικής άρνησης (Logical NOT).

Αριθμητικοί τελεστές

Οι αριθμητικοί τελεστές δέχονται αριθμητικές τιμές σαν ορίσματα πράξης (είτε αριθμούς, είτε μεταβλητές) και επιστρέφουν μια απλή αριθμητική τιμή.

+
Τελεστής πρόσθεσης.
-
Τελεστής αφαίρεσης.
/
Τελεστής διαίρεσης.
*
Τελεστής πολλαπλασιασμού.
%
Τελεστής υπολοίπου διαίρεσης.
**
Εκθετικός τελεστής.

Σχεσιακοί τελεστές

Ενας τελεστής σύγκρισης συγκρίνει τα ορίσματα πράξης και επιστρέφει μια Boolean τιμή βασισμένη στο αν η σύγκριση είναι αληθής.

in
Ο τελεστής in προσδιορίζει αν ενα αντικείμενο έχει ένα συγκεκριμένο χαρακτηριστικό.
instanceof
Ο τελεστής instanceof προσδιορίζει αν ένα αντικείμενο είναι στιγμιότυπο ενός άλλου αντικειμένου.
<
Τελεστής 'μικρότερο από'.
>
Τελεστής 'μεγαλύτερο από'.
<=
Τελεστής 'μικρότερο από ή ίσο'.
>=
Τελεστής 'μεγαλύτερο από ή ίσο'.

Σημείωση: το =>  δεν είναι τελεστής αλλά αποτελεί σημειογραφία για τις Arrow functions.

Τελεστές ισότητας

Το αποτέλεσμα των τελεστών ισότητας είναι πάντα τύπου Boolean και βασίζεται στο αν η σύγκριση είανι αληθής.

==
Τελεστής ισότητας.
!=
Τελεστής ανισότητας, διαφορετικότητας.
===
Τελεστής ισότητας ταυτότητας.
!==
Τελεστής ανισότητας ταυτότητας.

Τελεστές κύλισης bits

Λειτουργία κύλισης όλων των bits των ορισμάτων.

<<
Τελεστής αριστερής κύλισης bit (Bitwise left shift).
>>
Τελεστής δεξιάς κύλισης bit (Bitwise right shift).
>>>
Τελεστής δεξιάς κύλισης bit χωρίς πρόσημο (Bitwise right shift).

Δυαδικοί τελεστές bits

Οι δυαδικοί τελεστές bits χειριζονται τα ορίσματα τους σαν σετ απο 32 bits (0,1) και επιστρέφουν μια αριθμητική τιμή.

&
Bitwise AND.
|
Bitwise OR.
^
Bitwise XOR.

Δυαδικοί λογικοί τελεστές

Οι λογικοί τελεστές τυπικά χρησιμοποιούνται με boolean (λογικές) τιμές, και επιστρέφουν μια επίσης boolean τιμή.

&&
Λογικό 'και' (AND).
||
Λογικό 'ή' (OR).

Τριαδικός υποθετικός τελεστής

(condition ? ifTrue : ifFalse)

Ο υποθετικός τελεστής επιστρέφει μια εκ των δύο τιμών, βάση της λογική τιμής της δεδομένης συνθήκης.

Τελεστές ανάθεσης.

Ένας τελεστής ανάθεσης αναθέτει μια τιμή στο αριστερό όρισμα βάση της τιμής του δεξιού ορίσματος.

=
Τελεστής ανάθεσης.
*=
Τελεστής ανάθεσης πολλαπλάσιου.
/=
Τελεστής ανάθεσης διαιρεταίου.
%=
Τελεστής ανάθεσης υπολοίπου.
+=
Τελεστής ανάθεσης αθροίσματος.
-=
Τελεστής ανάθεσης αφαίρεσης.
<<=
Τελεστής ανάθεσης αριστερής κύλισης bit.
>>=
Τελεστής ανάθεσης δεξιάς κύλισης bit.
>>>=
Τελεστής ανάθεσης δεξιάς κύλισης bit χωρίς πρόσημο.
&=
Τελεστής ανάθεσης λογικού AND σε επίπεδο bits.
^=
Τελεστής ανάθεσης λογικού XOR σε επίπεδο bits.
|=
Τελεστής ανάθεσης λογικού OR σε επίπεδο bits.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}

Η ανάθεση διάσπασης(destructuring) επιτρέπει την απευθείας ανάθεση των  χαρακτηριστικών, ενός αντικειμένου ή ενός πίνακα, σε μεταβλητές.

Τελεστης κόμμα ',' (comma)

,
Ο τελεστής κόμμα(',') επιτρέπει σε πολλαπλές εκφράσεις να εκτιμηθούν σε μία μόνο δήλωση, και επιστρέφει το αποτέλεσμα της τελευταίας εκφρασης.

Non-standard features

Legacy generator function
Η λέξη κλειδί function μπορεί να χρησιμοποιηθεί για να ορίσει για συνάρτηση γεννήτρια μέσα σε μια έκφραση. Για να γίνει η συνάρτηση, συναρτηση γεννήτριας το σώμα της θα πρέπει να περιέχει τουλαχιστον μια  yield εκφραση.
Expression closures
The expression closure syntax is a shorthand for writing simple function.
[for (x of y) x]
Array comprehensions.
(for (x of y) y)
Generator comprehensions.

Specifications

Specification Status Comment
ECMAScript 1st Edition (ECMA-262)
The definition of 'Expressions' in that specification.
Standard Initial definition
ECMAScript 5.1 (ECMA-262)
The definition of 'Expressions' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'ECMAScript Language: Expressions' in that specification.
Standard New: Spread operator, destructuring assignment, super keyword.
ECMAScript Latest Draft (ECMA-262)
The definition of 'ECMAScript Language: Expressions' in that specification.
Living Standard  

See also

Εθελοντές και ετικέτες εγγράφου

 Συνεισφέροντες σε αυτή τη σελίδα: mathiou
 Τελευταία ενημέρωση από: mathiou,