Dagens statistik

Gennemførte øvelser
-
Indtastede tegn Indskrevne ord
-
Øvelsestid
-

Samlet statistik

Gennemførte øvelser
-
Indtastede tegn Indskrevne ord
-
Øvelsestid
-

Lektion i tifingersystemet: Programmering i sproget JavaScript

Tifingersystemet er vigtigt i programmering. Du er mere effektiv, når du bruger hurtige skriveteknikker til at skrive kode i programmeringssproget JavaScript.

Lad os lære mere om sproget JavaScript og tifingersystemet, når vi programmerer i JavaScript.

Programmering i JavaScript og tifingersystemet

JavaScript er et af de mest anvendte programmeringssprog i verden og driver både klient- og serverapplikationer. Det er et fleksibelt, dynamisk sprog, der hele tiden udvikler sig. At skrive JavaScript-kode har dog sine udfordringer. JavaScript afgrænser blokke med klammer, mens Python bruger indryk. JavaScript er dynamisk typet, hvor Java er statisk typet. Et manglende semikolon, et ekstra komma eller en glemt parentes kan bryde koden. For udviklere, der tilbringer timer foran tastaturet hver dag, er det derfor afgørende at have præcision. Blindskrift og 10-fingersystemet træner dig i at indtaste koden præcist uden at kigge på tastaturet. Det gør det lettere at følge programmets logik, mens du skriver.

Dynamisk typning og variabeldeklaration

JavaScript er dynamisk typet, hvilket betyder, at variabler kan indeholde enhver type værdi og ændre type under kørslen. Denne fleksibilitet gør sproget nemt at komme i gang med, men også udsat for fejl. Til nye variabler bruges normalt let og const, som begge har blokscope. En variabel erklæret med let kan tildeles en ny værdi, mens en binding erklæret med const ikke kan. var er stadig gyldigt og har funktions-, script- eller modulscope. En tastefejl eller brug af det forkerte kan føre til svære fejl. Når du øver blindskrift, kan du træne præcis indtastning af const og let. Valget mellem dem afhænger af, hvordan variablen skal bruges i programmet.

// Brug let til variabler, der ændrer sig
let counter = 0;
counter++;

// Brug const til uforanderlige værdier
const PI = 3.14159;

// Undgå var i moderne kode
var legacy = "gammel stil";

Semikolon og automatisk indsættelse

En af de mest omdiskuterede funktioner i JavaScript er automatisk indsættelse af semikolon. Mange udsagn kan teknisk set skrives uden, men det kan føre til mærkelige fejl. Et kendt eksempel er, når en return skrives på én linje og værdien på den næste - JavaScript fortolker det som return;. Det udtryk, der skal returneres, skal begynde på samme linje som return; et ekstra semikolon løser ikke problemet. Nogle kodestile kræver semikolon, mens andre udelader dem, så følg projektets regler. For en udvikler, der mestrer blindskrift, er det et lille, men hyppigt tastetryk, som hurtigt bliver en vane.

// Farligt: returnerer undefined
function bad() {
  return
  {
    name: "Anna"
  };
}

// Korrekt: semikolon sikrer den rigtige returnering
function good() {
  return {
    name: "Anna"
  };
}

Objekter og JSON

JavaScript er bygget op omkring objekter. Objektliteraler kræver krøllede parenteser {}, kolon : og kommaer , på præcis de rigtige steder. JSON, som afspejler JavaScripts objektsyntaks, er strengt: et ekstra komma kan gøre hele filen ugyldig. For udviklere, der ikke er sikre på tastaturet, er dette en konstant kilde til fejl. Blindskrift hjælper med at gøre brugen af disse tegn instinktiv, så fokus kan forblive på datastrukturen.

// Objektliteral
const user = {
  id: 1,
  name: "Anna",
  active: true
};

Funktioner: deklarationer, udtryk og arrow functions

JavaScript tilbyder flere måder at definere funktioner på: traditionelle deklarationer, anonyme udtryk og arrow functions. Arrow functions kræver brug af =>, hvilket er nemt at taste forkert. Begyndere glemmer ofte en parentes eller placerer pilen forkert. Med blindskrift bliver sekvensen => en naturlig bevægelse. JavaScript understøtter også standardparametre, restparametre (...args) og destrukturering, hvilket gør sproget mere udtryksfuldt, men øger behovet for præcis indtastning.

// Traditionel funktion
function greet(name) {
  return "Hej " + name;
}

// Arrow function
const greetArrow = (name) => "Hej " + name;

// Funktion med default og restparametre
function log(message = "Info", ...args) {
  console.log(message, args);
}

Closures og callbacks

En af de definerende egenskaber ved JavaScript er closures. Funktioner kan fange variabler fra deres omgivelser. Det er kraftfuldt, men også let at begå fejl med, især i løkker eller asynkron kode. At skrive callbacks indebærer ofte mange niveauer af parenteser og klammer. Med blindskrift bliver det lettere at holde styr på strukturen uden at miste overblikket.

// Closure, der fanger en variabel
function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Asynkron kode: callbacks, promises, async/await

JavaScript understøtter asynkrone operationer. De kan håndteres med callbacks, promises og async/await. Hvert af disse mønstre kræver nøjagtighed: callbacks betyder mange klammer, promises kan håndteres med .then()-kæder eller await, og async/await introducerer nye nøgleord. Blindskrift gør det lettere at skrive gentagne mønstre som try { ... } catch(e) { ... } eller await fetch(...) mere præcist.

// 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);
  }
}

Stil og konventioner

Mens Python-udviklere taler om at være "pythonic", handler det i JavaScript om stilguider som Airbnb, StandardJS eller Googles konventioner. De dækker indryk (to eller fire mellemrum), brug af semikolon, navngivning (camelCase for variabler, PascalCase for klasser) og linjelængde. Værktøjer som ESLint og Prettier kan kontrollere eller formatere koden ud fra deres konfiguration. Når man bruger blindskrift eller 10-fingersystemet, er det lettere at følge konventionerne uden at miste rytmen.

Typiske syntaksfejl

Nogle af de mest almindelige fejl i JavaScript er glemte backticks i template strings, forveksling af enkelte og dobbelte anførselstegn eller manglende parenteser. Template strings med interpolation ${...} kræver en sekvens af tegn: backtick, dollartegn, krøllede parenteser. Med blindskrift bliver dette en rutine.

// Template string med interpolation
const name = "Anna";
console.log(`Hej, ${name}!`);

Klasser og objektorienterede funktioner

Før ES6 brugte JavaScript prototyper. I dag findes der en klasse-syntaks, selvom prototyper stadig findes i baggrunden. Metoden constructor initialiserer en instans, men du behøver ikke definere den. super bruges til at kalde forældreklassens konstruktør fra en selvdefineret konstruktør i en afledt klasse. Metoder defineres uden nøgleordet function. Det er nemt at glemme this eller en krøllet parentes. Med blindskrift bliver disse gentagne strukturer lettere at skrive uden fejl. Klasser navngives ofte med PascalCase, hvilket også kræver konsekvens.

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} laver en lyd.`);
  }
}

class Dog extends Animal {
  speak() {
    console.log(`${this.name} gøer.`);
  }
}

Moduler og imports

Moderne JavaScript bruger ES-moduler med import og export. Disse kræver ofte lange stier og krøllede parenteser. At skrive import { readFile, writeFile } from "fs"; hurtigt og korrekt kræver øvelse. Blindskrift gør det lettere at taste klammer og anførselstegn uden fejl.

import { readFile, writeFile } from "fs";
import express from "express";

Opsummering

JavaScript er et dynamisk og fleksibelt sprog. Dets syntaks kombinerer mange tegn - klammer, parenteser, kolon, kommaer, semikolon, backticks - og det gør præcis indtastning til en konstant udfordring. Ligesom Java skelner JavaScript mellem store og små bogstaver; et manglende tegn, som syntaksen kræver, kan forhindre programmet i at køre. I modsætning til Python håndhæver det ikke indryk, men konsistent formattering forventes. Blindskrift eller 10-fingersystemet hjælper udviklere med at håndtere disse krav: reducere fejl, gøre gentagne mønstre som arrow functions og imports hurtigere og give mulighed for at fokusere på design frem for tastaturet. Når du skriver JavaScript hver dag, kan blindskrift gøre det lettere at indtaste koden præcist. Et program, der fungerer korrekt, kræver også, at du forstår logikken og kontrollerer, hvordan det opfører sig.

Næste tekst
Næste lektion
Opgave Tilbage til test
javascript
Diagram Skjul