Facebook Pixel
Searching...
Ελληνικά
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
JavaScript

JavaScript

The Good Parts
by Douglas Crockford 1983 372 pages
4.23
8k+ ratings
Listen

Key Takeaways

1. Τα Καλά Μέρη του JavaScript: Αγκαλιάστε την Απλότητα και τη Δύναμη

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

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

Κύρια καλά μέρη περιλαμβάνουν:

  • Συναρτήσεις ως πρώτης τάξης αντικείμενα
  • Χαλαρός τύπος
  • Δυναμικά αντικείμενα
  • Εκφραστική σημειογραφία αντικειμένων

Αποφύγετε προβληματικά χαρακτηριστικά όπως:

  • Παγκόσμιες μεταβλητές
  • Έμμεση μετατροπή τύπων
  • Η δήλωση with
  • Η συνάρτηση eval

Επιλέγοντας προσεκτικά ποια χαρακτηριστικά θα χρησιμοποιήσουν, οι προγραμματιστές μπορούν να εκμεταλλευτούν τη δύναμη του JavaScript ενώ ελαχιστοποιούν τους κινδύνους και την πολυπλοκότητα.

2. Συναρτήσεις ως Πρώτης Τάξης Αντικείμενα: Η Καρδιά του JavaScript

Οι συναρτήσεις του JavaScript είναι πρώτης τάξης αντικείμενα με (κυρίως) λεξιλογική σάρωση. Το JavaScript είναι η πρώτη γλώσσα lambda που έγινε mainstream.

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

Κύρια χαρακτηριστικά των συναρτήσεων του JavaScript:

  • Λεξιλογική σάρωση (κλεισίματα)
  • Μπορούν να χρησιμοποιηθούν για τη δημιουργία μονάδων
  • Υποστήριξη για πρότυπα λειτουργικού προγραμματισμού
  • Δυνατότητα δημιουργίας μεθόδων για αντικείμενα

Αυτή η δυνατότητα επιτρέπει ισχυρούς παραδείσους προγραμματισμού όπως ο λειτουργικός προγραμματισμός, ο αντικειμενοστραφής προγραμματισμός και ο αρθρωτός σχεδιασμός. Η κατανόηση της χρήσης των συναρτήσεων είναι κρίσιμη για τη συγγραφή αποδοτικού και κομψού κώδικα JavaScript.

3. Αντικείμενα και Πρωτότυπα: Ευέλικτη και Αποτελεσματική Κληρονομιά

Το JavaScript έχει ένα σύστημα αντικειμένων χωρίς κλάσεις στο οποίο τα αντικείμενα κληρονομούν ιδιότητες απευθείας από άλλα αντικείμενα. Αυτό είναι πραγματικά ισχυρό, αλλά είναι άγνωστο σε προγραμματιστές που έχουν εκπαιδευτεί κλασικά.

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

Κύρια χαρακτηριστικά του συστήματος αντικειμένων του JavaScript:

  • Τα αντικείμενα μπορούν να κληρονομήσουν απευθείας από άλλα αντικείμενα
  • Δυναμική προσθήκη ιδιοτήτων και μεθόδων
  • Δεν απαιτούνται ορισμοί κλάσεων
  • Αποτελεσματική χρήση μνήμης μέσω της αλυσίδας πρωτοτύπων

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

4. Αποφύγετε τις Παγκόσμιες Μεταβλητές: Ενισχύστε την Ποιότητα και την Ασφάλεια του Κώδικα

Το χειρότερο από όλα τα κακά χαρακτηριστικά του JavaScript είναι η εξάρτησή του από τις παγκόσμιες μεταβλητές.

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

Στρατηγικές για τη μείωση των παγκόσμιων μεταβλητών:

  • Χρησιμοποιήστε το πρότυπο μονάδας
  • Χρησιμοποιήστε κλεισίματα για τη δημιουργία ιδιωτικών πεδίων
  • Χρησιμοποιήστε IIFE (Άμεσα Καλούμενες Λειτουργικές Εκφράσεις)
  • Ονομάστε την εφαρμογή σας κάτω από ένα μόνο παγκόσμιο αντικείμενο

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

5. Κατανοήστε και Εκμεταλλευτείτε τα Κλεισίματα για Ισχυρό Προγραμματισμό

Οι συναρτήσεις στο JavaScript σχηματίζουν κλεισίματα. Ένα κλείσιμο είναι η εσωτερική συνάρτηση συν η πρόσβαση σε όλες τις μεταβλητές στους εξωτερικούς τομείς.

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

Εφαρμογές των κλεισίματος:

  • Δημιουργία ιδιωτικών μεταβλητών και μεθόδων
  • Υλοποίηση του προτύπου μονάδας
  • Διαχείριση callbacks και ασύγχρονου κώδικα
  • Δημιουργία εργοστασίων συναρτήσεων

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

6. Αγκαλιάστε το JSON για Ανταλλαγή Δεδομένων και Φορητότητα

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

Το JSON απλοποιεί την ανταλλαγή δεδομένων. Το JSON (JavaScript Object Notation) έχει γίνει πρότυπο για την ανταλλαγή δεδομένων λόγω της απλότητάς του, της αναγνωσιμότητάς του και της ευκολίας χρήσης του. Είναι ανεξάρτητο από γλώσσες αλλά είναι ιδιαίτερα κατάλληλο για εφαρμογές JavaScript.

Κύρια οφέλη του JSON:

  • Ελαφρύ και εύκολο στην ανάγνωση/γραφή
  • Ανεξάρτητο από γλώσσες
  • Εύκολο στην ανάλυση και παραγωγή
  • Υποστηρίζει σύνθετες δομές δεδομένων

Χρησιμοποιώντας το JSON για την ανταλλαγή δεδομένων, οι προγραμματιστές μπορούν να απλοποιήσουν την επικοινωνία μεταξύ διαφορετικών τμημάτων μιας εφαρμογής ή μεταξύ διαφορετικών συστημάτων. Είναι ιδιαίτερα χρήσιμο σε διαδικτυακές εφαρμογές για την επικοινωνία πελάτη-διακομιστή και για την αποθήκευση δεδομένων ρυθμίσεων.

7. Χρησιμοποιήστε το JSLint για να Επιβάλετε Καλές Πρακτικές και να Εντοπίσετε Σφάλματα

Το JSLint είναι ένας ελεγκτής και επαληθευτής σύνταξης JavaScript. Παίρνει ένα κείμενο πηγής και το σκανάρει. Εάν βρει ένα πρόβλημα, επιστρέφει ένα μήνυμα που περιγράφει το πρόβλημα και μια περίπου τοποθεσία εντός της πηγής.

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

Οφέλη από τη χρήση του JSLint:

  • Εντοπίζει κοινά σφάλματα προγραμματισμού
  • Επιβάλλει πρότυπα κωδικοποίησης
  • Βελτιώνει την αναγνωσιμότητα και τη συντηρησιμότητα του κώδικα
  • Βοηθά στην εκμάθηση και την υιοθέτηση καλών πρακτικών

Ενσωματώνοντας το JSLint στη διαδικασία ανάπτυξης, οι ομάδες μπορούν να εντοπίζουν και να διορθώνουν ζητήματα νωρίς, οδηγώντας σε πιο ανθεκτικό και συντηρήσιμο κώδικα. Είναι ιδιαίτερα πολύτιμο για μεγάλα έργα ή ομάδες όπου η συνέπεια είναι κρίσιμη.

8. Προσέξτε τα Κακά Μέρη του JavaScript: Πλοηγηθείτε στις Παγίδες με Σοφία

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

Αποφύγετε τα προβληματικά χαρακτηριστικά. Ενώ το JavaScript έχει πολλά ισχυρά χαρακτηριστικά, περιλαμβάνει επίσης αρκετά προβληματικά που μπορούν να οδηγήσουν σε σφάλματα, ζητήματα ασφαλείας ή δύσκολα συντηρήσιμο κώδικα. Η γνώση και η αποφυγή αυτών των "κακών μερών" είναι κρίσιμη για τη συγγραφή ανθεκτικών εφαρμογών JavaScript.

Κύρια κακά μέρη που πρέπει να αποφευχθούν:

  • Η δήλωση with
  • Η συνάρτηση eval
  • Αυτόματη εισαγωγή ερωτηματικών
  • Ασυνέπειες του τελεστή typeof
  • Οι τελεστές == και != (χρησιμοποιήστε τους === και !== αντίστοιχα)

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

Last updated:

Review Summary

4.23 out of 5
Average of 8k+ ratings from Goodreads and Amazon.

JavaScript: Τα Καλά Μέρη λαμβάνει ανάμεικτες κριτικές αλλά γενικά θεωρείται αξιόλογο. Οι αναγνώστες εκτιμούν την περιεκτική εξήγηση των καλύτερων χαρακτηριστικών της JavaScript και την ειλικρινή κριτική των αδυναμιών της γλώσσας. Πολλοί το βρίσκουν αποκαλυπτικό και πολύτιμο για έμπειρους προγραμματιστές που είναι νέοι στη JavaScript. Ωστόσο, κάποιοι επικρίνουν την οργάνωσή του, τις ξεπερασμένες πληροφορίες και τις περιστασιακά συγκεχυμένες εξηγήσεις. Το γνώμη του βιβλίου και η εστίαση στις βέλτιστες πρακτικές επαινούνται από κάποιους, αλλά θεωρούνται υπερβολικά δογματικές από άλλους. Συνολικά, θεωρείται μια σημαντική ανάγνωση για σοβαρούς προγραμματιστές JavaScript, παρά τις περιορισμένες του πτυχές.

Your rating:

About the Author

Ο Ντάγκλας Κρόκφορντ είναι μια αναγνωρίσιμη προσωπικότητα στον κόσμο του προγραμματισμού JavaScript. Είναι πιο γνωστός για το έργο του JavaScript: The Good Parts, το οποίο έχει γίνει κλασικό στον τομέα. Ο Κρόκφορντ πιστώνεται με την εξάπλωση του JSON (JavaScript Object Notation) και την ανάπτυξη εργαλείων όπως το JSLint. Οι ισχυρές απόψεις του σχετικά με τις βέλτιστες πρακτικές της JavaScript έχουν επηρεάσει σημαντικά την ανάπτυξη και τη χρήση της γλώσσας. Η εμπειρία του Κρόκφορντ προέρχεται από χρόνια εργασίας με τη JavaScript, και είναι γνωστός για την άμεση, συχνά κριτική προσέγγισή του στη γλώσσα. Οι συνεισφορές του έχουν βοηθήσει να νομιμοποιηθεί η JavaScript ως μια σοβαρή γλώσσα προγραμματισμού και έχουν διαμορφώσει τον τρόπο που οι προγραμματιστές προσεγγίζουν τη χρήση της στη σύγχρονη ανάπτυξη ιστού.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →