From 1109132f09d75da9a28b649c7677bb6ce07c40c0 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:45 -0500 Subject: initial commit --- .../web/javascript/reference/operators/index.html | 301 +++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 files/el/web/javascript/reference/operators/index.html (limited to 'files/el/web/javascript/reference/operators/index.html') diff --git a/files/el/web/javascript/reference/operators/index.html b/files/el/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..9ed1cba01e --- /dev/null +++ b/files/el/web/javascript/reference/operators/index.html @@ -0,0 +1,301 @@ +--- +title: Expressions and operators +slug: Web/JavaScript/Reference/Operators +tags: + - JavaScript + - εκφράσεις + - τελεστές +translation_of: Web/JavaScript/Reference/Operators +--- +
{{jsSidebar("Operators")}}
+ +

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

+ +

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

+ +

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

+ +

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

+ +

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

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

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

+ +

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

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

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

+ +

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

+ +
+
{{jsxref("Operators/Arithmetic_Operators", "A++", "#Increment")}}
+
Τελεστής αύξησης μετά την μεταβλητή (Postfix).
+
{{jsxref("Operators/Arithmetic_Operators", "A--", "#Decrement")}}
+
Τελεστής μείωσης μετά την μεταβλητή (Postfix).
+
{{jsxref("Operators/Arithmetic_Operators", "++A", "#Increment")}}
+
Τελεστής αύξησης πριν την μεταβλητή (Prefix).
+
{{jsxref("Operators/Arithmetic_Operators", "--A", "#Decrement")}}
+
Τελεστής μείωσης πριν την μεταβλητή (Prefix).
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/delete", "delete")}}
+
Ο τελεστής delete διαγράφει ένα χαρακτηριστικό από ένα αντικείμενο.
+
{{jsxref("Operators/void", "void")}}
+
Ο τελεστής void απορρίπτει την επιστρεφόμενη τιμή μιας έκφρασης.
+
{{jsxref("Operators/typeof", "typeof")}}
+
Ο τελεστής typeof προσδιορίζει τον τύπο ενός δεδομένου αντικειμένου.
+
{{jsxref("Operators/Arithmetic_Operators", "+", "#Unary_plus")}}
+
Ο τελεστής unary plus μετατρέπει τον όρο πράξης του σε αριθμό (Number type).
+
{{jsxref("Operators/Arithmetic_Operators", "-", "#Unary_negation")}}
+
Ο τελεστής unary negation μετατρέπει τον όρο πράξης του σε αριθμό (Number type) και ακολούθως τον μετατρέπει σε αρνητικό.
+
{{jsxref("Operators/Bitwise_Operators", "~", "#Bitwise_NOT")}}
+
Τελεστής άρνησης σε επίπεδο bit (Bitwise NOT).
+
{{jsxref("Operators/Logical_Operators", "!", "#Logical_NOT")}}
+
Τελεστής λογικής άρνησης (Logical NOT).
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/Arithmetic_Operators", "+", "#Addition")}}
+
Τελεστής πρόσθεσης.
+
{{jsxref("Operators/Arithmetic_Operators", "-", "#Subtraction")}}
+
Τελεστής αφαίρεσης.
+
{{jsxref("Operators/Arithmetic_Operators", "/", "#Division")}}
+
Τελεστής διαίρεσης.
+
{{jsxref("Operators/Arithmetic_Operators", "*", "#Multiplication")}}
+
Τελεστής πολλαπλασιασμού.
+
{{jsxref("Operators/Arithmetic_Operators", "%", "#Remainder")}}
+
Τελεστής υπολοίπου διαίρεσης.
+
+ +
+
{{jsxref("Operators/Arithmetic_Operators", "**", "#Exponentiation")}}
+
Εκθετικός τελεστής.
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/in", "in")}}
+
Ο τελεστής in προσδιορίζει αν ενα αντικείμενο έχει ένα συγκεκριμένο χαρακτηριστικό.
+
{{jsxref("Operators/instanceof", "instanceof")}}
+
Ο τελεστής instanceof προσδιορίζει αν ένα αντικείμενο είναι στιγμιότυπο ενός άλλου αντικειμένου.
+
{{jsxref("Operators/Comparison_Operators", "<", "#Less_than_operator")}}
+
Τελεστής 'μικρότερο από'.
+
{{jsxref("Operators/Comparison_Operators", ">", "#Greater_than_operator")}}
+
Τελεστής 'μεγαλύτερο από'.
+
{{jsxref("Operators/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
+
Τελεστής 'μικρότερο από ή ίσο'.
+
{{jsxref("Operators/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
+
Τελεστής 'μεγαλύτερο από ή ίσο'.
+
+ +
+

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

+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/Comparison_Operators", "==", "#Equality")}}
+
Τελεστής ισότητας.
+
{{jsxref("Operators/Comparison_Operators", "!=", "#Inequality")}}
+
Τελεστής ανισότητας, διαφορετικότητας.
+
{{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}
+
Τελεστής ισότητας ταυτότητας.
+
{{jsxref("Operators/Comparison_Operators", "!==", "#Nonidentity")}}
+
Τελεστής ανισότητας ταυτότητας.
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/Bitwise_Operators", "<<", "#Left_shift")}}
+
Τελεστής αριστερής κύλισης bit (Bitwise left shift).
+
{{jsxref("Operators/Bitwise_Operators", ">>", "#Right_shift")}}
+
Τελεστής δεξιάς κύλισης bit (Bitwise right shift).
+
{{jsxref("Operators/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
+
Τελεστής δεξιάς κύλισης bit χωρίς πρόσημο (Bitwise right shift).
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/Bitwise_Operators", "&", "#Bitwise_AND")}}
+
Bitwise AND.
+
{{jsxref("Operators/Bitwise_Operators", "|", "#Bitwise_OR")}}
+
Bitwise OR.
+
{{jsxref("Operators/Bitwise_Operators", "^", "#Bitwise_XOR")}}
+
Bitwise XOR.
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/Logical_Operators", "&&", "#Logical_AND")}}
+
Λογικό 'και' (AND).
+
{{jsxref("Operators/Logical_Operators", "||", "#Logical_OR")}}
+
Λογικό 'ή' (OR).
+
+ +

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

+ +
+
{{jsxref("Operators/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}
+
+

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

+
+
+ +

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

+ +

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

+ +
+
{{jsxref("Operators/Assignment_Operators", "=", "#Assignment")}}
+
Τελεστής ανάθεσης.
+
{{jsxref("Operators/Assignment_Operators", "*=", "#Multiplication_assignment")}}
+
Τελεστής ανάθεσης πολλαπλάσιου.
+
{{jsxref("Operators/Assignment_Operators", "/=", "#Division_assignment")}}
+
Τελεστής ανάθεσης διαιρεταίου.
+
{{jsxref("Operators/Assignment_Operators", "%=", "#Remainder_assignment")}}
+
Τελεστής ανάθεσης υπολοίπου.
+
{{jsxref("Operators/Assignment_Operators", "+=", "#Addition_assignment")}}
+
Τελεστής ανάθεσης αθροίσματος.
+
{{jsxref("Operators/Assignment_Operators", "-=", "#Subtraction_assignment")}}
+
Τελεστής ανάθεσης αφαίρεσης.
+
{{jsxref("Operators/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
+
Τελεστής ανάθεσης αριστερής κύλισης bit.
+
{{jsxref("Operators/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
+
Τελεστής ανάθεσης δεξιάς κύλισης bit.
+
{{jsxref("Operators/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
+
Τελεστής ανάθεσης δεξιάς κύλισης bit χωρίς πρόσημο.
+
{{jsxref("Operators/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
+
Τελεστής ανάθεσης λογικού AND σε επίπεδο bits.
+
{{jsxref("Operators/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
+
Τελεστής ανάθεσης λογικού XOR σε επίπεδο bits.
+
{{jsxref("Operators/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
+
Τελεστής ανάθεσης λογικού OR σε επίπεδο bits.
+
{{jsxref("Operators/Destructuring_assignment", "[a, b] = [1, 2]")}}
+ {{jsxref("Operators/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}
+
+

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

+
+
+ +

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

+ +
+
{{jsxref("Operators/Comma_Operator", ",")}}
+
Ο τελεστής κόμμα(',') επιτρέπει σε πολλαπλές εκφράσεις να εκτιμηθούν σε μία μόνο δήλωση, και επιστρέφει το αποτέλεσμα της τελευταίας εκφρασης.
+
+ +

Non-standard features

+ +
+
{{non-standard_inline}} {{jsxref("Operators/Legacy_generator_function", "Legacy generator function", "", 1)}}
+
Η λέξη κλειδί function μπορεί να χρησιμοποιηθεί για να ορίσει για συνάρτηση γεννήτρια μέσα σε μια έκφραση. Για να γίνει η συνάρτηση, συναρτηση γεννήτριας το σώμα της θα πρέπει να περιέχει τουλαχιστον μια  {{jsxref("Operators/yield", "yield")}} εκφραση.
+
{{non-standard_inline}} {{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}}
+
The expression closure syntax is a shorthand for writing simple function.
+
{{non-standard_inline}} {{jsxref("Operators/Array_comprehensions", "[for (x of y) x]")}}
+
Array comprehensions.
+
{{non-standard_inline}} {{jsxref("Operators/Generator_comprehensions", "(for (x of y) y)")}}
+
Generator comprehensions.
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES1', '#sec-11', 'Expressions')}}{{Spec2('ES1')}}Initial definition
{{SpecName('ES5.1', '#sec-11', 'Expressions')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}{{Spec2('ES6')}}New: Spread operator, destructuring assignment, super keyword.
{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}{{Spec2('ESDraft')}} 
+ +

See also

+ + -- cgit v1.2.3-54-g00ecf