Δεν ήταν δυνατή η ανανέωση των ρυθμίσεων πληκτρολόγησης. Φόρτωσε ξανά τη σελίδα για να δοκιμάσεις πάλι.
Μάθημα πληκτρολόγησης: Προγραμματισμός στη γλώσσα JavaScript
Οι κανόνες υπολογισμού της ακρίβειας άλλαξαν. Αυτή η άσκηση ξεκινά ξανά από την αρχή.
Δεν ήταν δυνατή η επιβεβαίωση της αποθήκευσης της ολοκληρωμένης συνεδρίας σας. Δοκιμάστε ξανά την αποθήκευση χωρίς να πληκτρολογήσετε πάλι το κείμενο.
Μάθημα πληκτρολόγησης: Προγραμματισμός στη γλώσσα JavaScript
Το τυφλό σύστημα πληκτρολόγησης είναι σημαντικό στον προγραμματισμό. Είστε πιο αποτελεσματικοί χρησιμοποιώντας τεχνικές γρήγορης πληκτρολόγησης για τη σύνταξη κώδικα στη γλώσσα προγραμματισμού JavaScript.
Προγραμματισμός σε JavaScript και τυφλό σύστημα γραφής
Η JavaScript είναι μία από τις πιο διαδεδομένες γλώσσες προγραμματισμού στον κόσμο - χρησιμοποιείται τόσο σε εφαρμογές πελάτη όσο και σε εφαρμογές διακομιστή. Είναι μια ευέλικτη, δυναμική γλώσσα που εξελίσσεται συνεχώς. Η πληκτρολόγηση κώδικα σε JavaScript έχει τις δυσκολίες της. Η JavaScript οριοθετεί τα μπλοκ με άγκιστρα, ενώ η Python χρησιμοποιεί εσοχές. Σε αντίθεση με τη στατικά τυποποιημένη Java, η JavaScript είναι δυναμικά τυποποιημένη. Ένα χαμένο ελληνικό ερωτηματικό, ένα επιπλέον κόμμα ή μια ξεχασμένη αγκύλη μπορεί να προκαλέσει προβλήματα. Για τους προγραμματιστές που περνούν πολλές ώρες μπροστά στο πληκτρολόγιο, η ακρίβεια είναι καθοριστική. Με την εξάσκηση στο τυφλό σύστημα γραφής μαθαίνετε να εισάγετε κώδικα με ακρίβεια χωρίς να κοιτάζετε το πληκτρολόγιο. Έτσι μπορείτε να συγκεντρώνεστε περισσότερο στη λογική του προγράμματος παρά στην αναζήτηση των πλήκτρων.
Δυναμική τυποποίηση και δηλώσεις μεταβλητών
Η JavaScript είναι δυναμικά τυποποιημένη γλώσσα. Οι μεταβλητές μπορούν να αποθηκεύουν οποιονδήποτε τύπο τιμής και να αλλάζουν τύπο κατά την εκτέλεση. Αυτή η ευελιξία διευκολύνει την εκμάθηση, αλλά είναι και πηγή λαθών. Για νέες μεταβλητές χρησιμοποιούνται συνήθως τα let και const, με εμβέλεια στο μπλοκ όπου δηλώνονται. Μια μεταβλητή με let μπορεί να πάρει νέα τιμή, ενώ μια δέσμευση με const δεν μπορεί να επανανατεθεί. Το var παραμένει έγκυρο: το var έχει εμβέλεια στη συνάρτηση, στο script ή στο module. Ένα τυπογραφικό λάθος ή λάθος επιλογή μπορεί να οδηγήσει σε δύσκολα ανιχνεύσιμα σφάλματα. Με την εξάσκηση στο τυφλό σύστημα γραφής μπορείτε να μάθετε να πληκτρολογείτε με ακρίβεια τα const και let. Η επιλογή τους εξαρτάται από τον τρόπο χρήσης της μεταβλητής στο πρόγραμμα.
// Χρήση let για μεταβλητές που αλλάζουν
let counter = 0;
counter++;
// Χρήση const για σταθερές τιμές
const PI = 3.14159;
// Αποφύγετε το var
var legacy = "παλιό στυλ";
Ερωτηματικά και αυτόματη εισαγωγή
Ένα από τα πιο αμφιλεγόμενα χαρακτηριστικά της JavaScript είναι η αυτόματη εισαγωγή ερωτηματικών (semicolon insertion). Πολλές δηλώσεις μπορούν να γραφτούν χωρίς ερωτηματικό, αλλά αυτό μπορεί να οδηγήσει σε σφάλματα. Ένα κλασικό παράδειγμα είναι η χρήση του return σε μία γραμμή και της τιμής στην επόμενη - η JavaScript το ερμηνεύει ως return;. Η έκφραση που επιστρέφεται πρέπει να αρχίζει στην ίδια γραμμή με το return· η προσθήκη ερωτηματικού δεν λύνει αυτό το πρόβλημα. Ορισμένοι οδηγοί στυλ απαιτούν ερωτηματικά και άλλοι τα παραλείπουν, γι' αυτό ακολουθήστε τους κανόνες του έργου. Με το τυφλό σύστημα γραφής, αυτό το μικρό αλλά συχνό πάτημα πλήκτρου γίνεται συνήθεια.
// Επικίνδυνο: επιστρέφει undefined
function bad() {
return
{
name: "Μαρία"
};
}
// Σωστό: το ερωτηματικό εξασφαλίζει σωστή επιστροφή
function good() {
return {
name: "Μαρία"
};
}
Αντικείμενα και JSON
Η JavaScript βασίζεται σε αντικείμενα. Τα literals αντικειμένων απαιτούν αγκύλες {}, άνω και κάτω τελεία : και κόμματα , στις σωστές θέσεις. Το JSON, που αντικατοπτρίζει τη σύνταξη αντικειμένων της JavaScript, είναι αυστηρό: ένα περιττό κόμμα καθιστά άκυρο ολόκληρο το αρχείο. Το τυφλό σύστημα γραφής κάνει την πληκτρολόγηση αυτών των χαρακτήρων αυτοματοποιημένη, ώστε το μυαλό να παραμένει επικεντρωμένο στη δομή δεδομένων.
// Αντικείμενο literal
const user = {
id: 1,
name: "Μαρία",
active: true
};
Συναρτήσεις: δηλώσεις, εκφράσεις και arrow functions
Η JavaScript επιτρέπει τον ορισμό συναρτήσεων με διάφορους τρόπους: κλασικές δηλώσεις, ανώνυμες εκφράσεις και arrow functions. Οι arrow functions απαιτούν το σύμβολο =>, το οποίο συχνά πληκτρολογείται λανθασμένα. Με το τυφλό σύστημα γραφής η ακολουθία αυτή γίνεται αυτόματη. Επιπλέον, η JavaScript υποστηρίζει προεπιλεγμένες παραμέτρους, rest παραμέτρους (...args) και αποδόμηση παραμέτρων. Αυτό κάνει τη γλώσσα εκφραστική αλλά απαιτεί ακρίβεια στην πληκτρολόγηση.
// Κλασική συνάρτηση
function greet(name) {
return "Γεια σου " + name;
}
// Arrow function
const greetArrow = (name) => "Γεια σου " + name;
// Συνάρτηση με default και rest παραμέτρους
function log(message = "Info", ...args) {
console.log(message, args);
}
Closures και callbacks
Ένα από τα χαρακτηριστικά της JavaScript είναι τα closures. Οι συναρτήσεις μπορούν να "συλλάβουν" μεταβλητές από το περιβάλλον τους. Αυτό είναι χρήσιμο, αλλά απαιτεί κατανόηση της εμβέλειας των μεταβλητών, ιδιαίτερα σε βρόχους ή ασύγχρονο κώδικα. Τα callbacks σημαίνουν πολλά επίπεδα αγκυλών. Το τυφλό σύστημα γραφής επιτρέπει την ομαλή πληκτρολόγηση τέτοιων δομών.
// Closure που συλλαμβάνει μεταβλητή
function makeCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Ασύγχρονος κώδικας: callbacks, promises, async/await
Η JavaScript υποστηρίζει ασύγχρονες λειτουργίες. Μπορούν να χρησιμοποιηθούν callbacks, promises και η σύνταξη async/await. Κάθε μοτίβο απαιτεί ακρίβεια: callbacks σημαίνουν πολλές αγκύλες, τα promises μπορούν να χρησιμοποιηθούν με αλυσίδες .then() ή με await, ενώ το async/await εισάγει νέες λέξεις-κλειδιά. Το τυφλό σύστημα γραφής κάνει πιο εύκολη την εισαγωγή αυτών των επαναλαμβανόμενων μοτίβων.
// Promise
fetch("/api/data")
.then(response => response.json())
.then(data => console.log(data))
.catch(err => console.error(err));
// Async/await
async function loadData() {
try {
const response = await fetch("/api/data");
const data = await response.json();
console.log(data);
} catch (err) {
console.error(err);
}
}
Στυλ και συμβάσεις
Ενώ στην Python μιλούν για "pythonic" κώδικα, στη JavaScript η συζήτηση περιστρέφεται γύρω από οδηγούς στυλ όπως Airbnb, StandardJS ή τις συμβάσεις της Google. Αυτά αφορούν την εσοχή (δύο ή τέσσερα κενά), τα ερωτηματικά, τις συμβάσεις ονοματοδοσίας (camelCase για μεταβλητές, PascalCase για κλάσεις) και το μήκος γραμμών. Με το τυφλό σύστημα γραφής είναι ευκολότερο να τηρηθούν αυτές οι συμβάσεις.
Συχνά συντακτικά λάθη
Συνηθισμένα λάθη περιλαμβάνουν ξεχασμένα backticks σε template strings, σύγχυση ανάμεσα σε μονά και διπλά εισαγωγικά ή αγκύλες που δεν κλείνουν. Τα template strings με παρεμβολή ${...} απαιτούν συγκεκριμένη ακολουθία: backtick, σύμβολο δολαρίου, αγκύλες. Με το τυφλό σύστημα γραφής αυτό γίνεται ρουτίνα.
// Template string με παρεμβολή
const name = "Μαρία";
console.log(`Γεια σου, ${name}!`);
Κλάσεις και αντικειμενοστραφή στοιχεία
Πριν το ES6 η JavaScript χρησιμοποιούσε πρωτότυπα. Σήμερα υπάρχει σύνταξη κλάσεων, αν και τα πρωτότυπα συνεχίζουν να υπάρχουν στο υπόβαθρο. Η μέθοδος constructor αρχικοποιεί ένα αντικείμενο, αλλά δεν είναι υποχρεωτικό να την ορίσετε. Με το super καλείται ο κατασκευαστής της γονικής κλάσης μέσα από έναν δικό σας κατασκευαστή της παράγωγης κλάσης. Οι μέθοδοι ορίζονται χωρίς τη λέξη-κλειδί function. Συχνά ξεχνιέται το this ή μια αγκύλη. Με το τυφλό σύστημα γραφής αυτές οι δομές γίνονται ευκολότερες και πιο ακριβείς. Οι κλάσεις συχνά ονομάζονται σε PascalCase, κάτι που απαιτεί συνέπεια.
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} κάνει έναν ήχο.`);
}
}
class Dog extends Animal {
speak() {
console.log(`${this.name} γαβγίζει.`);
}
}
Modules και εισαγωγές
Η σύγχρονη JavaScript χρησιμοποιεί ES modules με import και export. Αυτές οι εντολές συχνά περιλαμβάνουν μεγάλες διαδρομές και αγκύλες. Το να γράψει κανείς import { readFile, writeFile } from "fs"; γρήγορα και σωστά απαιτεί εξάσκηση. Με το τυφλό σύστημα γραφής η πληκτρολόγηση αυτών των χαρακτήρων γίνεται φυσική.
import { readFile, writeFile } from "fs";
import express from "express";
Σύνοψη
Η JavaScript είναι μια δυναμική και ευέλικτη γλώσσα. Η σύνταξή της περιλαμβάνει πολλά σύμβολα - άγκιστρα, αγκύλες, άνω και κάτω τελεία, κόμματα, ερωτηματικά, backticks - και αυτό καθιστά την ακριβή πληκτρολόγηση διαρκή πρόκληση. Όπως η Java, η JavaScript διακρίνει πεζά και κεφαλαία· η παράλειψη ενός απαραίτητου συμβόλου μπορεί να εμποδίσει την εκτέλεση του προγράμματος. Σε αντίθεση με την Python, δεν επιβάλλει εσοχές, αλλά η κοινότητα απαιτεί συνέπεια. Το τυφλό σύστημα γραφής βοηθά τους προγραμματιστές να ανταποκριθούν σε αυτές τις απαιτήσεις: μειώνει τα λάθη, επιταχύνει τα επαναλαμβανόμενα μοτίβα και επιτρέπει τη συγκέντρωση στη λογική του προγράμματος αντί για το πληκτρολόγιο. Αν γράφετε JavaScript καθημερινά, η εξάσκηση στο τυφλό σύστημα γραφής μπορεί να διευκολύνει την ακριβή εισαγωγή του κώδικα. Για να λειτουργεί σωστά το πρόγραμμα, χρειάζεται επίσης να κατανοείτε τη λογική του και να ελέγχετε τη συμπεριφορά του.