JavaScriptin kehittäminen - kurssi 39 500 hieroa. IBS Training Centeristä, koulutus 40 tuntia, päivämäärä 26.11.2023.
Miscellanea / / November 28, 2023
Käsitellyt aiheet:
1. JavaScript-kieli:
JavaScript-versiot ja toteutukset;
JavaScriptin käyttöalueet (selain, palvelin, mobiilikehitys);
Tietotyypit: merkkijono, numero, looginen (käsite totuuden ja väärän);
Operaattorit, operaattorin etusija;
Muuttujien ilmoitus: var, const, let;
Silmukat: while, for, for … in, for …of;
Työskentely numeroiden ja merkkijonojen kanssa;
Nolla- ja määrittelemättömät arvot: erot ja käyttötarkoitukset;
Työskentely konsolin kanssa;
Poikkeukset JavaScriptissä.
2. JSON, objektit ja taulukot:
JSON-muoto, esimerkkejä;
JSON.parse ja stringify;
Objektit, työskentely Object-luokan kanssa;
Objektien luominen (käyttäen literaalia {}, uutta operaattoria, luontimenetelmää);
Prototyyppinen periytyminen, viite __proto__;
Getterit ja asettajat;
In- ja hasOwnProperty-operaattori, enumerable-ominaisuuksien käsite;
toString()-metodi, menetelmän kutsuminen ja ohittaminen;
valueOf()-metodi, menetelmän kutsuminen ja ohittaminen;
Taulukon luominen: literaalit ja uusi Array();
Matriisin pituuden automaattinen muutos;
Matriisipituuden saaminen ja pituuden asettaminen, taulukon katkaisu;
Join()- ja concat()-menetelmien käyttö;
Lajittelumenetelmän avulla taulukon lajittelujärjestyksen asettaminen;
Käyttämällä viipalointi- ja liitosmenetelmiä;
Push-, pop-, shift-, unshift-menetelmien käyttäminen: pinon tai jonon luominen.
3. Päivämäärien ja merkkijonojen käyttäminen:
Uuden Date()-konstruktorin käyttäminen;
Päivämäärän ja ajan tietokoneesityksen ymmärtäminen Epochin avulla;
Käytä getTime() ja setTime();
Päivämäärien jäsennysmerkkijono;
Vaihtoehdot merkkijonojen luomiseen JS: ssä: yhden ja kaksoislainausmerkkien käyttö;
Merkkijonojen interpolointi (merkkijono heittomerkeissä);
Erikoismerkkien pakottaminen merkkijonoon;
Merkkijonojen ketjuttaminen, muuntaminen isoiksi ja pieniksi kirjaimille;
Osamerkkijonon etsiminen käyttämällä indexOf()- ja lastIndexOf();
Alimerkkijonon valitseminen käyttämällä substring() ja substr()
Käyttämällä include-, endsWith- ja startsWith-menetelmiä.
4. JavaScriptin käyttäminen selaimessa: DOM-malli:
Selainikkunan, asiakirjan, tapahtumien ja tyylin hallinta (CSS-tyylit);
Ikkunaobjekti ja sen käyttötarkoitukset;
JavaScript-koodin yhdistäminen HTML-sivulle;
Skriptien suoritusjärjestys sivulla;
Komentosarjan välimuisti, CDN-palvelimet, JavaScript pakotettu uudelleenlataus;
Työskentely linkkien kanssa, JavaScriptin yhdistäminen linkkeihin;
lataustapahtuma ja sen käyttö;
XSS-hyökkäykset sivustoon;
Työskentely DOM: n kanssa: ikkunan, asiakirjan, lapsisolmujen käyttö;
Asiakirjan käsittely DOM: n avulla: elementtien luominen, poistaminen, siirtäminen;
Käytä getElementById(), getElementsByTagName(), getElementsByClassName() elementtien etsimiseen sivulta;
Työskentely HTMLDocumentin ja HTMLElementin menetelmien ja ominaisuuksien kanssa.
5. Tapahtumien käsittely selaimessa:
Tapahtumaohjelmoinnin käsite;
Tapahtumakäsittelijät ja -kuuntelijat;
Käsittelijöiden yhdistäminen addEventListener();
Tapahtuma-luokan ominaisuudet ja menetelmät;
Tapahtumien leviäminen ylös (kuplus) ja alas (tallennus);
Lopeta leviäminen;
Ikkunatapahtumat;
Hiiri- ja näppäimistötapahtumat, erityiset tapahtumaominaisuudet;
Lomake tapahtumat;
6. Työskentely CSS: n kanssa ja tyylien hallinta:
CSS-standardi, CSS-perusominaisuudet;
Yleiset tyylit ja yksittäisten elementtien tyylit;
CSS tyylit;
CSS-valitsimet;
CSS: n muokkaaminen JavaScriptillä;
Täyte: marginaali, täyte, reunus;
Elementtien näkyvyyden hallinta: näkyvyys ja näyttö;
Elementtien sijoittelu: absoluuttinen, kiinteä, suhteellinen, ylä- ja vasen;
Mittayksiköt px, pt ja muut;
Elementin ylivuoto ja ohjaus ylivuotoominaisuuden kautta;
Asiakirjan tasojen hallinta: zIndex-ominaisuus;
Animaatio, elementtien liike;
Luokkien kanssa työskentely, luokanNimen asettaminen;
Työskentely läpinäkyvyyden ja siirtymien parissa;
querySelectorAll()-metodi.
7. Moduulien kanssa työskentely JavaScriptissä, NPM-pakettienhallinnassa, Webpack Builderissa:
Moduulien käytön syyt;
Vie moduulista;
Tuo moduulista;
Jälleenvienti;
Työskentely NPM: n, package.json-tiedoston kanssa;
node_modules -kansio, pakettien lataaminen NPM: n avulla;
Pakettien globaali ja paikallinen asennus;
Webpackin käyttö projektin rakentamiseen;
CSS- ja TypeScript-lataajat;
Asetukset webpack.config.js;
Bundle luominen, pakkaus;
Webpack-laajennukset;
Vanhojen modulaarisuusjärjestelmien käyttö – CommonJS ja AMD;
CommonsChunkPluginin avulla useita aloituspisteitä;
Kuumalla vaihdettavat HMR-moduulit.
8. Luokat ja periytyminen JavaScriptissä:
Prototyypin periytyminen, viite __proto__;
Esineen prototyyppi;
Käyttämällä instanceof;
Avainsanaluokka, luokkien luominen;
Avainsana super;
Käyttämällä Object.assign()-metodia;
Käyttämällä Object.defineProperty()-metodia;
Getterit ja asettajat;
Spread-operaattori objektien ja taulukoiden kanssa työskentelemiseen;
Matriisin ja objektin rakenteen tuhoaminen.
9. Toiminnallinen ohjelmointi JavaScriptissä:
Toimii muuttujina;
Array-argumentit;
Funktioluokka, call()- ja apply()-metodit;
bind()-metodi, tämän ja joidenkin parametrien asettaminen bindillä;
Sulkemiset JavaScriptissä;
Arvojen kapselointi sulkimilla;
Funktion luominen Function-konstruktorin avulla: merkkijonon rakentaminen;
Nuolifunktiot, esimerkkejä niiden soveltamisesta;
Funktionaalinen taulukkokäsittely: find, findIndex, suodatin;
Esimerkkejä map/filter/reduce -toiminnon käytöstä tietojen käsittelyyn taulukossa.
10. Muuttumattomuus, testaus, MVC-kuvio:
Muuttumattomuuden käsite, sen edut;
Muuttuvat ja muuttumattomat menetelmät objektien ja taulukoiden muuttamiseen;
Virtuaalisen DOM: n käsite ja edut;
Muuttumattomien toimintojen testaus Jestillä;
Memoisointi, sen edut;
Perusvirheet ja suositukset toiminnallisen ohjelmoinnin käytössä;
MVC-kuvio, käyttöliittymän luominen;
Yleiskatsaus käyttöliittymäkehityksen tärkeimpiin kirjastoihin: Angular, React, Vue.
11. Asynkronisuus JavaScriptissä. Lupaukset:
Asynkronian käsite ja välttämättömyys;
Työskentely seuraavien kanssa: setTimeout, setInterval, clearTimeout;
Takaisinsoittotoiminnot (takaisinkutsut);
Menettää tämän, kun työskentelet takaisinsoittotoiminnon kanssa. Ratkaisut (käyttäen sidonta-, nuolifunktioita jne.);
Lupausten käsite, lupauksen palauttaminen asynkronisesta funktiosta;
Promise.all()-metodi, sen sovellus;
async/wait syntaksi, käyttötapaukset, rajoitukset;
Hätätilanteiden käsittely: Lupausten hylkääminen, poikkeusten käsittely asynkronisille puheluille.
12. Työskentely palvelimen kanssa. HTTP-protokolla. REST-palvelut:
HTTP-protokolla;
HTTP-otsikot ja menetelmät (GET, POST, PUT, DELETE, muut), tiedonsiirto;
HTTP-palvelimet (yleiskatsaus);
HTTP-palvelimen vastauskoodit;
Lomakkeiden käyttäminen tietojen lähettämiseen;
Tietojen siirto palvelimelle AJAXin avulla;
REST-arkkitehtuuri: edut ja ominaisuudet;
CRUD: n (Create/Read/Päivitä/Poista-operaatiot) toteutus työskennellessäsi REST: n kanssa;
Fetch()-funktion käyttäminen tietojen vastaanottamiseen ja lähettämiseen;
REST-palvelujen dokumentointi Swaggerin avulla;
HATEOAS käsite, sovellus;
13. AXIOS-kirjasto. WebSocket-protokolla:
Korkean tason Axios-kirjaston vertailu ja matalan tason fetch();
GET- ja POST-pyynnöt Axiosissa;
Async/wait käyttö Axiosin kanssa;
Virheiden käsittely käytettäessä Axiosta;
Pyynnön peruuttaminen Axiosilla;
WebSocket-protokolla;
Esimerkkejä WebSocketin käytöstä, vertailu HTTP: hen;
HTML-animaatio;
Huomautus
Kurssin materiaalit esitetään englanniksi.