aboutsummaryrefslogtreecommitdiff
path: root/files/el/web/javascript/reference/functions/default_parameters
diff options
context:
space:
mode:
authorRyan Johnson <rjohnson@mozilla.com>2021-04-29 16:16:42 -0700
committerGitHub <noreply@github.com>2021-04-29 16:16:42 -0700
commit95aca4b4d8fa62815d4bd412fff1a364f842814a (patch)
tree5e57661720fe9058d5c7db637e764800b50f9060 /files/el/web/javascript/reference/functions/default_parameters
parentee3b1c87e3c8e72ca130943eed260ad642246581 (diff)
downloadtranslated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz
translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2
translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip
remove retired locales (#699)
Diffstat (limited to 'files/el/web/javascript/reference/functions/default_parameters')
-rw-r--r--files/el/web/javascript/reference/functions/default_parameters/index.html222
1 files changed, 0 insertions, 222 deletions
diff --git a/files/el/web/javascript/reference/functions/default_parameters/index.html b/files/el/web/javascript/reference/functions/default_parameters/index.html
deleted file mode 100644
index e3229bc633..0000000000
--- a/files/el/web/javascript/reference/functions/default_parameters/index.html
+++ /dev/null
@@ -1,222 +0,0 @@
----
-title: Προεπιλεγμένες παράμετροι
-slug: Web/JavaScript/Reference/Functions/Default_parameters
-tags:
- - ECMAScript 2015
- - JavaScript
- - Συναρτήσεις
-translation_of: Web/JavaScript/Reference/Functions/Default_parameters
-original_slug: Web/JavaScript/Reference/Functions/Προεπιλεγμένες_παράμετροι
----
-<div>{{jsSidebar("Συναρτήσεις")}}</div>
-
-<p>Οι<strong> προεπιλεγμένες παράμετροι συναρτήσεων</strong> επιτρέπουν την αρχικοποίηση των παραμέτρων με προεπιλεγμένες τιμες, αν η τιμή λείπει ή ειναι τύπου <code>undefined</code>.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/functions-default.html")}}</div>
-
-<p class="hidden">Ο πηγαίος κώδικας αυτού του διαδραστικού παραδείγματος είναι αποθηκευμένος σε ενα GitHub αποθετήριο. Αν θα θέλατε να συμβάλλετε στο έργο των διαδραστικών παραδειγμάτων, παρακαλώ κάντε clone το <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> και στείλτε μας ενα pull request.</p>
-
-<h2 id="Σύνταξη">Σύνταξη</h2>
-
-<pre class="syntaxbox">function [<em>όνομα</em>]([<em>παράμ1</em>[ = προεπιλεγμένηΤιμή1 ][, ..., <em>παράμN</em>[ = προεπιλεγμένηΤιμήN ]]]) {<em>δηλώσεις</em>
-}
-</pre>
-
-<h2 id="Περιγραφή">Περιγραφή</h2>
-
-<p>Στην JavaScript, οι προεπιλεγμένες παράμετροι των συναρτήσεων ειναι τύπου <code>{{jsxref("undefined")}}</code>. Ωστόσο, σε κάποιες καταστάσεις μπορεί να χρειαστεί να θέσουμε μια διαφορετική προεπιλεγμένη τιμή. Σε αυτή την περίπτωση μπορούν βοηθήσουν οι προεπιλεγμένες παράμετροι.</p>
-
-<p>Στο παρελθόν, η γενική στρατηγική ορισμού προεπιλεγμένων τιμών, ηταν ο έλεγχος των τιμών στο σώμα την συνάρτησης και η εκχώρηση τιμής στην περίπτωση που ήταν τύπου <code>undefined</code>. Αν στο επόμενο παράδειγμα, δεν δοθεί τιμή για την <code>b</code> οταν κλήθει η συναρτηση, η τιμή της θα ήταν <code>undefined</code>  κατα την εκτίμηση του <code>a*b</code> και η κλήση της <code>multiply</code> θα επέστρεφε <code>NaN</code>. Ωστόσο, αυτό αποτρέπεται στην δεύτερη γραμμή του παραδείγματος:</p>
-
-<pre class="brush: js">function multiply(a, b) {
- b = (typeof b !== 'undefined') ? b : 1;
- return a * b;
-}
-
-multiply(5, 2); // 10
-multiply(5, 1); // 5
-multiply(5); // 5
-</pre>
-
-<p>Με τις προεπιλεγμένες παραμέτρους στην ES2015, ο έλεγχος στο σώμα της συνάρτησης δεν ειναι πια απαραίτητος. Τωρα μπορούμε απλα να θέσουμε <code>1</code> ως προεπιλεγμένη τιμή της <code>b</code> στην κεφαλή της συνάρτησης:</p>
-
-<pre class="brush: js">function multiply(a, b = 1) {
- return a * b;
-}
-
-multiply(5, 2); // 10
-multiply(5, 1); // 5
-multiply(5); // 5
-</pre>
-
-<h2 id="Παραδείγματα">Παραδείγματα</h2>
-
-<h3 id="Περνώντας_undefined_σε_αντίθεση_με_άλλες_falsy_τιμες">Περνώντας <code>undefined</code> σε αντίθεση με άλλες falsy τιμες</h3>
-
-<p>Στην δεύτερη κλήση εδω, ακόμα και αν η δεύτερη παράμετρος είναι ρητά <code>undefined</code> (αλλά οχι <code>null</code> ή άλλες <em>falsy τιμές</em>) κατα την κλήση, η τιμή της παραμέτρου <code>num</code> είναι η προεπιλεγμένη.</p>
-
-<pre class="brush: js">function test(num = 1) {
- console.log(typeof num);
-}
-
-test(); // 'number' (η num παίρνει τιμή 1)
-test(undefined); // 'number' (η num επίσης παίρνει τιμή 1)
-
-// test with other falsy values:
-test(''); // 'string' (η num παίρνει τιμή '')
-test(null); // 'object' (η num παίρνει τιμή null)
-</pre>
-
-<h3 id="Εκτίμηση_κατα_την_κλήση">Εκτίμηση κατα την κλήση</h3>
-
-<p>Η προεπιλεγμένη παράμετρος εκτιμάται κατα την κλήση, οπότε αντίθετα με την Python για παραδειγμα, ενα νεο αντικείμενο δημιουργείται καθε φορά που καλείται η συνάρτηση.</p>
-
-<pre class="brush: js">function append(value, array = []) {
- array.push(value);
- return array;
-}
-
-append(1); //[1]
-append(2); //[2], όχι [1, 2]
-
-</pre>
-
-<p>Αυτό εφαρμόζεται ακομα και στις συναρτήσεις και τις μεταβλητές:</p>
-
-<pre class="brush: js">function callSomething(thing = something()) {
- return thing;
-}
-
-function something() {
- return 'sth';
-}
-
-callSomething(); //sth</pre>
-
-<h3 id="Οι_προεπιλεγμένες_παράμετροι_ειναι_διαθέσιμες_σε_επόμενες_προεπιλεγμένες_παραμέτρους">Οι προεπιλεγμένες παράμετροι ειναι διαθέσιμες σε επόμενες προεπιλεγμένες παραμέτρους</h3>
-
-<p>Οι παράμετροι που εχουν ήδη συναντηθεί είναι διαθέσιμες και στις επόμενες προεπιλεγμένες παραμέτρους:</p>
-
-<pre class="brush: js">function singularAutoPlural(singular, plural = singular + 's',
- rallyingCry = plural + ' ATTACK!!!') {
- return [singular, plural, rallyingCry];
-}
-
-//["Gecko","Geckos", "Geckos ATTACK!!!"]
-singularAutoPlural('Gecko');
-
-//["Fox","Foxes", "Foxes ATTACK!!!"]
-singularAutoPlural('Fox', 'Foxes');
-
-//["Deer", "Deer", "Deer ... change."]
-singularAutoPlural('Deer', 'Deer', 'Deer peaceably and respectfully \
- petition the government for positive change.')
-</pre>
-
-<p>Αυτή η λειτουργικότητα υπολογίζεται σταδιακά. Το επόμενο παράδειγμα επιδεικνύει το πως χειρίζονται άλλες ακραίες περιπτώσεις.</p>
-
-<pre class="brush: js">function go() {
- return ':P';
-}
-
-function withDefaults(a, b = 5, c = b, d = go(), e = this,
- f = arguments, g = this.value) {
- return [a, b, c, d, e, f, g];
-}
-
-function withoutDefaults(a, b, c, d, e, f, g) {
- switch (arguments.length) {
- case 0:
- a;
- case 1:
- b = 5;
- case 2:
- c = b;
- case 3:
- d = go();
- case 4:
- e = this;
- case 5:
- f = arguments;
- case 6:
- g = this.value;
- default:
- }
- return [a, b, c, d, e, f, g];
-}
-
-withDefaults.call({value: '=^_^='});
-// [undefined, 5, 5, ":P", {value:"=^_^="}, arguments, "=^_^="]
-
-
-withoutDefaults.call({value: '=^_^='});
-// [undefined, 5, 5, ":P", {value:"=^_^="}, arguments, "=^_^="]
-</pre>
-
-<h3 id="Συναρτήσεις_που_ορίζονται_μεσα_στο_σώμα_της_συνάρτησης">Συναρτήσεις που ορίζονται μεσα στο σώμα της συνάρτησης</h3>
-
-<p>Εισάχθηκε στο Gecko 33 {{geckoRelease(33)}}. Οι συναρτήσεις που ορίζονται στο σώμα της συνάρτησης δεν μπορούν να αναφέρονται στίς προεπιλεγμένες παραμέτρους και εμφανίζουν ενα {{jsxref("ReferenceError")}} (αυτή τη στιγμή {{jsxref("TypeError")}} στο SpiderMonkey, βλέπε {{bug(1022967)}}). Οι προεπιλεγμένες παράμετροι εκτελούνται παντα πρώτες και στην συνέχεια εκτελούνται οι δηλώσεις που βρίσκονται στο σώμα της συνάρτησης.</p>
-
-<pre class="brush: js">// Doesn't work! Throws ReferenceError.
-function f(a = go()) {
- function go() { return ':P'; }
-}
-</pre>
-
-<h3 id="Παράμετροι_χωρίς_προεπιλεγμένες_τιμες_μετα_τις_προεπιλεγμενες_παραμέτρους">Παράμετροι χωρίς προεπιλεγμένες τιμες μετα τις προεπιλεγμενες παραμέτρους</h3>
-
-<p>Πριν απο το Gecko 26 {{geckoRelease(26)}}, ο ακόλουθος κώδικας προκαλούσε ένα {{jsxref("SyntaxError")}}. Αυτό επιδιορθώθηκε στο {{bug(777060)}} και έχει την αναμενόμενη λειτουργία σε επόμενες εκδόσεις. Οι παράμετροι ορίζονται ακόμα απο τα αριστερά στα δεξιά, αντικαθιστώντας προεπιλεγμένες παραμέτρους ακόμα και αν υπάρχουν επόμενες παράμετροι χωρίς προεπιλεγμένες τιμές.</p>
-
-<pre class="brush: js">function f(x = 1, y) {
- return [x, y];
-}
-
-f(); // [1, undefined]
-f(2); // [2, undefined]
-</pre>
-
-<h3 id="Αποδόμηση_παραμέτρων_στον_ορισμό_προεπιλεγμένων_τιμών">Αποδόμηση παραμέτρων στον ορισμό προεπιλεγμένων τιμών</h3>
-
-<p>Στον ορισμό προεπιλεγμένων παραμέτρων μπορεί να χρησιμοποιηθεί <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">αποδομημένη ανάθεση</a>:</p>
-
-<pre class="brush: js">function f([x, y] = [1, 2], {z: z} = {z: 3}) {
- return x + y + z;
-}
-
-f(); // 6</pre>
-
-<h2 id="Προδιαγραφές">Προδιαγραφές</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Προδιαγραφή</th>
- <th scope="col">Κατάσταση</th>
- <th scope="col">Σχόλιο</th>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-function-definitions', 'Function Definitions')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Αρχικός ορισμός.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-function-definitions', 'Function Definitions')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Συμβατότητα_περιηγητών">Συμβατότητα περιηγητών</h2>
-
-<div>
-<div class="hidden">Ο πίνακας συμβατότητας σε αυτή τη σελίδα παράγεται απο δομημένα δεδομένα. Αν θα θέλατε να συμβάλλετε στα δεδομένα, παρακαλώ κάντε checkout το <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> και στείλτε μας ένα pull request.</div>
-
-<p>{{Compat("javascript.functions.default_parameters")}}</p>
-</div>
-
-<h2 id="Δείτε_επίσης">Δείτε επίσης</h2>
-
-<ul>
- <li><a class="external" href="http://wiki.ecmascript.org/doku.php?id=harmony:parameter_default_values" rel="external" title="http://wiki.ecmascript.org/doku.php?id=harmony:parameter_default_values">Αρχική πρόταση στο ecmascript.org</a></li>
-</ul>