Udvikling i JavaScript - kursus 39.500 rub. fra IBS Training Center, træning 40 timer, Dato 26. november 2023.
Miscellanea / / November 28, 2023
Emner dækket:
1. JavaScript sprog:
JavaScript-versioner og implementeringer;
Anvendelsesområder for JavaScript (browser, server, mobiludvikling);
Datatyper: String, Number, Boolean (begrebet sandhed og falsk);
Operatører, operatør forrang;
Deklaration af variabler: var, const, let;
Sløjfer: mens, for, for … i, for … af;
Arbejde med tal og strenge;
Nul og udefinerede værdier: forskelle og anvendelsesformål;
Arbejde med konsollen;
Undtagelser i JavaScript.
2. JSON, objekter og arrays:
JSON-format, eksempler;
JSON.parse og stringify;
Objekter, der arbejder med klassen Objekt;
Oprettelse af objekter (ved hjælp af den bogstavelige {}, den nye operator, oprettelsesmetoden);
Prototypisk arv, reference __proto__;
Getters og sættere;
Operatoren in og hasOwnProperty, konceptet med talløse egenskaber;
toString() metode, kalder og tilsidesætter metoden;
valueOf() metode, kalder og tilsidesætter metoden;
Oprettelse af arrays: literals og new Array();
Automatisk ændring af array længde;
Hentning og indstilling af længden af arrayets længde, trunkering af arrayet;
Brug join() og concat() metoder;
Brug af sorteringsmetoden til at indstille sorteringsrækkefølgen for arrayet;
Brug af skive- og splejsningsmetoderne;
Brug af push, pop, shift, unshift metoder: oprettelse af en stak eller kø.
3. Arbejde med datoer og strenge:
Brug af den nye Date()-konstruktør;
Forståelse af computerrepræsentationen af dato som tid med Epoch;
Brug af getTime() og setTime();
Parsing streng repræsentation af datoer;
Muligheder for at oprette strenge i JS: ved hjælp af enkelte og dobbelte anførselstegn;
Strenginterpolation (streng i apostrof);
Undslippe specialtegn i en streng;
Strengsammenkædning, konvertering til store og små bogstaver;
Finde en understreng ved hjælp af indexOf() og lastIndexOf();
Valg af en understreng ved hjælp af substring() og substr()
Brug af inkluderer, slutter med, starter med metoderne.
4. Brug af JavaScript i browseren: DOM-model:
Håndtering af browservindue, dokument, begivenheder og styling (CSS-stile);
Vinduesobjektet og dets anvendelser;
Tilslutning af JavaScript-kode til en HTML-side;
Rækkefølgen for udførelse af scripts på siden;
Script-caching, CDN-servere, JavaScript tvungen genindlæsning;
Arbejde med links, forbinde JavaScript til links;
Onload-hændelsen og dens brug;
XSS-angreb på webstedet;
Arbejde med DOM: ved hjælp af vindue, dokument, childNodes;
Manipulering af et dokument ved hjælp af DOM: oprettelse, sletning, flytning af elementer;
Brug af getElementById(), getElementsByTagName(), getElementsByClassName() til at finde elementer på siden;
Arbejde med metoder og egenskaber for HTMLDocument og HTMLElement.
5. Arbejde med begivenheder i browseren:
Begrebet begivenhedsprogrammering;
Begivenhedsbehandlere og lyttere;
Tilslutning af handlere ved hjælp af addEventListener();
Egenskaber og metoder for klassen Event;
Udbredelse af hændelser op (bobler) og ned (optagelse);
Stop spredningen;
Vindusbegivenheder;
Mus- og tastaturbegivenheder, særlige begivenhedsegenskaber;
Form begivenheder;
6. Arbejde med CSS og håndtering af stilarter:
CSS-standard, grundlæggende CSS-egenskaber;
Generelle stilarter og stilarter af individuelle elementer;
Cascading stilarter;
CSS-vælgere;
Ændring af CSS med JavaScript;
Polstring: margen, polstring, kant;
Kontrol af synligheden af elementer: synlighed og visning;
Placering af elementer: absolut, fast, relativ, indstilling øverst og venstre;
Måleenheder px, pt og andre;
Elementoverløb og kontrol via overløbsegenskaben;
Håndtering af dokumentlag: zIndex egenskab;
Animation, bevægelse af elementer;
Arbejde med klasser, indstille klassenavn;
Arbejde med transparens og overgange;
querySelectorAll() metode.
7. Arbejde med moduler i JavaScript, NPM-pakkehåndtering, Webpack-bygger:
Årsager til at bruge moduler;
Eksport fra modul;
Import fra modul;
Re-eksport;
Arbejder med NPM, filen package.json;
mappen node_modules, downloader pakker ved hjælp af NPM;
Global og lokal installation af pakker;
Brug af webpack til at bygge et projekt;
CSS- og TypeScript-indlæsere;
Konfiguration webpack.config.js;
Oprettelse af bundter, komprimering;
webpack plugins;
Brug af gamle modularitetssystemer – CommonJS og AMD;
Ved at bruge CommonsChunkPlugin, flere indgangspunkter;
Hot-swap HMR-moduler.
8. Klasser og arv i JavaScript:
Prototype arv, reference __proto__;
Objekt prototype;
Brug af instanceof;
Nøgleord klasse, oprettelse af klasser;
Nøgleord super;
Brug af Object.assign() metoden;
Brug af metoden Object.defineProperty();
Getters og sættere;
Spredningsoperator til at arbejde med objekter og arrays;
Destrukturering af et array og et objekt.
9. Funktionel programmering i JavaScript:
Fungerer som variable;
Array argumenter;
Funktionsklasse, call() og application() metoder;
Bind()-metoden, indstiller denne og nogle af parametrene ved hjælp af bind;
Lukninger i JavaScript;
Indkapsling af værdier ved hjælp af lukninger;
Oprettelse af en funktion gennem funktionskonstruktøren: opbygning af en streng;
Pilefunktioner, eksempler på deres anvendelse;
Funktionel array-manipulation: find, findIndex, filter;
Eksempler på brug af map/filter/reducer til at behandle data i et array.
10. Uforanderlighed, test, MVC-mønster:
Begrebet uforanderlighed, dets fordele;
Foranderlige og uforanderlige metoder til at ændre objekter og arrays;
Koncept og fordele ved Virtual DOM;
Test af uforanderlige funktioner ved hjælp af Jest;
Memoization, dens fordele;
Grundlæggende fejl og anbefalinger ved brug af funktionel programmering;
MVC-mønster, oprettelse af brugergrænseflader;
Oversigt over hovedbibliotekerne til interfaceudvikling: Angular, React, Vue.
11. Asynkron i JavaScript. Løfter:
Konceptet og nødvendigheden af asynkroni;
Arbejde med setTimeout, setInterval, clearTimeout;
Tilbagekaldsfunktioner (tilbagekald);
Mister dette, når du arbejder med en tilbagekaldsfunktion. Løsninger (ved hjælp af bind, pilefunktioner osv.);
Begrebet løfter, returnering af et løfte fra en asynkron funktion;
Promise.all() metoden, dens anvendelse;
async/wait syntaks, use cases, begrænsninger;
Håndtering af nødsituationer: Løfteafvisning, undtagelseshåndtering for asynkrone opkald.
12. Arbejder med serveren. HTTP protokol. REST-tjenester:
HTTP protokol;
HTTP-headere og metoder (GET, POST, PUT, DELETE, andre), dataoverførsel;
HTTP-servere (oversigt);
HTTP-serversvarkoder;
Brug af formularer til at indsende data;
Overførsel af data til serveren ved hjælp af AJAX;
REST-arkitektur: fordele og funktioner;
Implementering af CRUD (Opret/Læs/Opdater/Slet operationer) ved arbejde med REST;
Brug af funktionen fetch() til at modtage og sende data;
Dokumentation af REST-tjenester ved hjælp af Swagger;
HATEOAS koncept, anvendelse;
13. AXIOS bibliotek. WebSocket-protokol:
Sammenligning af Axios-biblioteket på højt niveau og brugen af hente på lavt niveau();
GET og POST anmodninger i Axios;
Brug af async/wait med Axios;
Fejlhåndtering ved brug af Axios;
Annullering af en anmodning ved hjælp af Axios;
WebSocket protokol;
Eksempler på brug af WebSocket, sammenligning med HTTP;
HTML-animation;
Bemærk
Kursusmateriale præsenteres på engelsk.