Η JavaScript είναι μια δυναμική γλώσσα, που υποστηρίζει αντικειμενοστρεφές, προστακτικό και δηλωτικό στιλ προγραμματισμού (για παράδειγμα, συναρτησιακό προγραμματισμό).
Υπάρχουν μερικοί βασικοί τρόποι για να αναθέσεις τιμές σε ονόματα στη JavaScript: χρησιμοποιώντας μεταβλητές ή σταθερές. Στο Exercism, οι μεταβλητές γράφονται πάντα σε camelCase· οι σταθερές γράφονται σε SCREAMING_SNAKE_CASE. Δεν υπάρχει κάποιος επίσημος οδηγός που να ακολουθείς, και διάφορες εταιρείες και οργανισμοί έχουν διαφορετικούς οδηγούς στιλ. Γράψε τις μεταβλητές όπως θέλεις. Το πλεονέκτημα του να τις γράφεις με τον τρόπο που είναι προετοιμασμένες οι ασκήσεις είναι ότι θα επισημαίνονται διαφορετικά στη διεπαφή ιστού και στα περισσότερα IDE.
Οι μεταβλητές στη JavaScript μπορούν να οριστούν χρησιμοποιώντας τις λέξεις-κλειδιά const, let (έστω) ή var.
Μια μεταβλητή μπορεί να αναφέρεται σε διαφορετικές τιμές κατά τη διάρκεια της ζωής της όταν χρησιμοποιείς let ή var.
Για παράδειγμα, η myFirstVariable μπορεί να οριστεί και να επαναπροσδιοριστεί πολλές φορές χρησιμοποιώντας τον τελεστή ανάθεσης =:
let myFirstVariable = 1;
myFirstVariable = 'Some string';
myFirstVariable = new SomeComplexClass();
Σε αντίθεση με τις λέξεις-κλειδιά let και var, οι μεταβλητές που ορίζονται με const μπορούν να ανατεθούν μόνο μία φορά.
Αυτό χρησιμοποιείται για τον ορισμό σταθερών στη JavaScript.
const MY_FIRST_CONSTANT = 10;
// Can not be re-assigned.
MY_FIRST_CONSTANT = 20;
// => TypeError: Assignment to constant variable.
💡 Σε μια επόμενη άσκηση εννοιών, η διαφορά ανάμεσα στην ανάθεση σταθεράς, στη δέσμευση σταθεράς και στην τιμή σταθεράς εξερευνάται και εξηγείται.
Στη JavaScript, οι μονάδες λειτουργικότητας ενσωματώνονται σε συναρτήσεις, συνήθως ομαδοποιώντας τις συναρτήσεις στο ίδιο αρχείο αν ταιριάζουν μεταξύ τους.
Αυτές οι συναρτήσεις έχουν παραμέτρους (ώστε να μπορούν να δέχονται ορίσματα) και μπορούν να επιστρέφουν μια τιμή χρησιμοποιώντας τη λέξη-κλειδί return.
Οι συναρτήσεις καλούνται χρησιμοποιώντας τη σύνταξη ().
function add(num1, num2) {
return num1 + num2;
}
add(1, 3);
// => 4
Σε αυτό το παράδειγμα, το όνομα της συνάρτησης είναι add.
Έχει δύο παραμέτρους, τις num1 και num2.
Επιστρέφει μια τιμή, δηλαδή το αποτέλεσμα της έκφρασης num1 + num2.
Στη συνέχεια, η συνάρτηση add καλείται με δύο ορίσματα: το 1 και το 3.
Το αποτέλεσμα της συνάρτησης, δηλαδή η τιμή επιστροφής, είναι 4.
💡 Στη JavaScript υπάρχουν πολλοί διαφορετικοί τρόποι για να δηλώσεις μια συνάρτηση.
Κάποιοι από αυτούς τους άλλους τρόπους φαίνονται διαφορετικοί από τη χρήση της λέξης-κλειδιού function.
Η διαδρομή προσπαθεί να τους παρουσιάσει σταδιακά, αλλά αν τους ξέρεις ήδη, μη διστάσεις να χρησιμοποιήσεις όποιον θέλεις.
Στις περισσότερες περιπτώσεις, η χρήση του ενός ή του άλλου δεν είναι καλύτερη ούτε χειρότερη.
Για να κάνεις μια function, μια σταθερά ή μια μεταβλητή διαθέσιμη σε άλλα αρχεία, πρέπει να εξαχθούν χρησιμοποιώντας τη λέξη-κλειδί export.
Ένα άλλο αρχείο μπορεί στη συνέχεια να τα εισάγει χρησιμοποιώντας τη λέξη-κλειδί import.
Αυτό είναι επίσης γνωστό ως σύστημα μονάδων.
Ένα χαρακτηριστικό παράδειγμα είναι το πώς λειτουργούν όλα τα τεστ.
Κάθε άσκηση έχει τουλάχιστον ένα αρχείο, για παράδειγμα το lasagna.js, που περιέχει την υλοποίηση.
Η υλοποίηση εξάγεται από το αρχείο με export, ώστε να μπορεί να εισαχθεί σε ένα άλλο αρχείο.
Επιπλέον, υπάρχει τουλάχιστον ένα ακόμη αρχείο, για παράδειγμα το lasagna.spec.js, που περιέχει τα τεστ.
Αυτό το αρχείο εισάγει με import τις δημόσιες (δηλαδή τις εξαγόμενες με export) οντότητες για να δοκιμάσει την υλοποίηση:
// file.js
export const MY_VALUE = 10;
export function add(num1, num2) {
return num1 + num2;
}
// file.spec.js
import { MY_VALUE, add } from './file';
add(MY_VALUE, 5);
// => 15
Η κοπέλα του Lucian επιστρέφει σπίτι και εκείνος δεν έχει μαγειρέψει το επετειακό τους δείπνο!
Σε αυτή την άσκηση, θα γράψεις κώδικα για να βοηθήσεις τον Lucian να μαγειρέψει μια εξαιρετική λαζάνια από το αγαπημένο του βιβλίο μαγειρικής.
Έχεις τέσσερις εργασίες που αφορούν τον χρόνο που αφιερώνεται στο μαγείρεμα της λαζάνιας.
Όρισε τη σταθερά EXPECTED_MINUTES_IN_OVEN που αντιπροσωπεύει πόσα λεπτά πρέπει να μείνει η λαζάνια στον φούρνο. Πρέπει να εξαχθεί. Σύμφωνα με το βιβλίο μαγειρικής, ο αναμενόμενος χρόνος ψησίματος σε λεπτά είναι 40.
Υλοποίησε τη συνάρτηση remainingMinutesInOven που παίρνει ως παράμετρο τα πραγματικά λεπτά που βρίσκεται η λαζάνια στον φούρνο και επιστρέφει πόσα λεπτά πρέπει να παραμείνει ακόμη η λαζάνια στον φούρνο, με βάση τον αναμενόμενο χρόνο ψησίματος σε λεπτά από την προηγούμενη εργασία.
remainingMinutesInOven(30);
// => 10
Υλοποίησε τη συνάρτηση preparationTimeInMinutes που παίρνει ως παράμετρο τον αριθμό των στρώσεων που πρόσθεσες στη λαζάνια και επιστρέφει πόσα λεπτά χρειάστηκες για να προετοιμάσεις τη λαζάνια, υποθέτοντας ότι κάθε στρώση σου παίρνει 2 λεπτά για να ετοιμαστεί.
preparationTimeInMinutes(2);
// => 4
Υλοποίησε τη συνάρτηση totalTimeInMinutes που παίρνει δύο παραμέτρους: η παράμετρος numberOfLayers είναι ο αριθμός των στρώσεων που πρόσθεσες στη λαζάνια και η παράμετρος actualMinutesInOven είναι ο αριθμός των λεπτών που βρίσκεται η λαζάνια στον φούρνο. Η συνάρτηση πρέπει να επιστρέψει πόσα λεπτά συνολικά έχεις δουλέψει για το μαγείρεμα της λαζάνιας, που είναι το άθροισμα του χρόνου προετοιμασίας σε λεπτά και του χρόνου σε λεπτά που έχει περάσει η λαζάνια στον φούρνο τη δεδομένη στιγμή.
totalTimeInMinutes(3, 20);
// => 26
Γράψου στο Exercism για να μάθεις και να κατακτήσεις JavaScript με 37 έννοιες159 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.