Προγραμματισμός

Το CoffeeScript 2 φτάνει με βελτιώσεις σύνταξης JavaScript

Το CoffeeScript, μια απλή γλώσσα που μεταγλωττίζεται στο JavaScript και στοχεύει να διευκολύνει τη ζωή των προγραμματιστών ιστού, μόλις μετακόμισε σε μια δεύτερη μεγάλη κυκλοφορία, που δίνει έμφαση στις βελτιώσεις σύνταξης.

Το CoffeeScript 2, το οποίο βρισκόταν σε στάδιο beta από τον Απρίλιο, διαθέτει έναν μεταγλωττιστή που μεταφράζει τον κώδικα CoffeeScript σε σύγχρονη σύνταξη JavaScript. Μια "κλάση" CoffeeScript εξάγεται τώρα χρησιμοποιώντας το τάξη λέξη-κλειδί, για παράδειγμα. Η έκδοση 2 διαθέτει επίσης υποστήριξη για τη σύνταξη λειτουργιών async, τη μελλοντική σύνταξη καταστροφής αντικειμένων και το JSX, το οποίο είναι JavaScript με διασπαρμένα στοιχεία XML.

Οι πρωταρχικοί στόχοι του CoffeeScript 2 ήταν να αφαιρέσουν ασυμβατότητες με JavaScript που θα μπορούσαν να αποτρέψουν τη χρήση του CoffeScript για ένα έργο και να διατηρήσουν τη συμβατότητα προς τα πίσω στον μεγαλύτερο δυνατό βαθμό.

Νέες δυνατότητες πραγματοποιήθηκαν με λίγες αλλαγές από την έκδοση 1.x, ανέφεραν οι προγραμματιστές του CoffeeScript. Προηγουμένως, η ομάδα είχε προειδοποιήσει ότι το CoffeeScript 2 θα απαιτούσε αλλαγές για να συμμορφωθεί με τις προδιαγραφές ECMAScript 2015 και παραπάνω. "Τα περισσότερα τρέχοντα έργα CoffeeScript θα πρέπει να είναι σε θέση να αναβαθμιστούν με ελάχιστη ή καθόλου απαραίτητη αναδιαμόρφωση", ανέφεραν οι προγραμματιστές. Οι λίγες αλλαγές σπάσιμο περιλαμβάνουν συναρτήσεις (βέλος λίπους), λειτουργίες δεσμευμένης γεννήτριας και ανάλυση ανάλυσης Literate CoffeeScript.

Ο εκσυγχρονισμός της σύνταξης JavaScript σημαίνει ότι οι προγραμματιστές ενδέχεται να χρειαστεί να μεταθέσουν την έξοδο του μεταγλωττιστή, με τη μεταγωγή να μετατρέψει τον πηγαίο κώδικα σε ισοδύναμο αλλά διαφορετικό πηγαίο κώδικα. Η τεκμηρίωση του CoffeeScript παραθέτει την περίπτωση στην οποία οι προγραμματιστές θα ήθελαν να μετατρέψουν τη σύγχρονη JavaScript σε παλαιότερη JavaScript για εκτέλεση σε παλαιότερες εκδόσεις του Node.js ή παλαιότερων προγραμμάτων περιήγησης. Η ενσωματωμένη υποστήριξη για το μεταφορέα Babel περιλαμβάνεται στο CoffeeScript.

Με την έκδοση 2, το CoffeeScript εξάγει τώρα σχόλια γραμμής, αφού τα απορρίψει στην έκδοση 1.1. Τα σχόλια αποκλεισμού επιτρέπονται πλέον οπουδήποτε, επιτρέποντας σχολιασμούς στατικού τύπου. Το εργαλείο γραμμής εντολών για καφέ έχει βελτιωθεί επίσης στην αναβάθμιση.

Λάβετε υπόψη ότι ορισμένες λειτουργίες JavaScript έχουν παραλειφθεί σκόπιμα, όπως αφήνω και var, ονομαζόμενες συναρτήσεις και το παίρνω και σειρά λέξεις-κλειδιά. Ενώ αφήνω και οι ονομαστικές συναρτήσεις παραλείφθηκαν για λόγους απλότητας, var παραλείφθηκε, έτσι ώστε οι προγραμματιστές CoffeeScript να μην χρειάζεται να ασχοληθούν με μεταβλητές δηλώσεις, και το παίρνω και σειρά οι λέξεις-κλειδιά παραλείφθηκαν για να αποφευχθεί η γραμματική ασάφεια. Η παράλειψη αυτών των λειτουργιών JavaScript δεν επηρεάζει τη συμβατότητα ή τη διαλειτουργικότητα με λειτουργικές μονάδες ή βιβλιοθήκες JavaScript.