cmda-bt / cmda-bt/fe-course-20-21
Week 1: Samenvatting hoofdstuk 4, 13 & 14
- Dominant language
- No language data
- Stars
- 30
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
# Chapter 4: Datastructures: Objects and Arrays
## Arrays
Arrays zijn lijstjes om meerdere waardes in op te slaan.
_let lijstVanGetallen = [ 10, 20, 30, 40];_
Als je eerste waarde van de array wilt tonen moet je de index meegeven van 0, niet 1.
_console.log(lijstVanGetallen[0]);_
## Properties
Als de lengte van array wilt ophalen, maak je gebruik van de **length** property.
_console.log(lijstVanGetallen.length);_
Je kan deze waarde ook ophalen door deze tussen brackets en quotes in te vullen.
_lijstVanGetallen["length"];_
Bijna alle JavaScript waardes hebben properties. Uitzondering hierop zijn **null** en **undefined**. Als je deze waardes wilt ophalen, krijg je een error.
## Methods
Elke string heeft de **toUpperCase** en **toLowerCase** property. Bij de eerste krijg je een waarde terug in hoofdletters en de laatste in kleine letters.
_console.log(hond[0].toUpperCase);
console.log(hond[0].toLowerCase);_
De **push** method voegt waarden toe aan het einde van een array en de **pop** method verwijderd de laatste waarde in een array.
## Objects
Waarden van het type **object** zijn een verzameling van zelfgemaakte properties. Een manier om een object te maken, is door accolades als uitdrukking te gebruiken. Elke property wordt op de volgende regel gezet , voor leesbaarheid, en eindigt met een komma (behalve de laatste property).
_let klas = {
naam: "Tech4",
studenten: ["Jan", "Piet", "Klaas", "Willem"]
};
console.log(klas.naam);_
De **delete** operator verwijderd de aangegeven property uit een object.
delete klas.naam
Met de **in** operator wordt gezocht in het object of de aangegeven property aanwezig is.
## Array loops
Je kan met behulp van loops elke waarde tonen van een array of object.
_for (let i = 0; i < honden.length; i++) {
console.log(hond[i]);
}_
slice is een array methode, die start- en eind indexes gebruikt en een array terug geeft met alleen de elementen ertussen.
_console.log([0, 1, 2, 3, 4].slice(2, 4));
// [2, 3]_
## The Math object
**Math** is een verzameling van nummer gerelateerde functies, zoals **Math.max** en **Math.min**.
## JSON
JSON bestanden lijken op de structuur van JavaScipt objecten. Deze kunnen worden omgezet naar een JavaScript object met behulp van **JSON.parse** en **JSON.stringify**.
_let klas = {
naam: "Tech4",
studenten: ["Jan", "Piet", "Klaas", "Willem"]
};_
# Chapter 13: Javascript and the browser
Wanneer twee of meerdere computers met elkaar kunnen communiceren wordt dat een **netwerk** genoemd.
Het **internet** is een wereldwijd netwerk dat in de jaren 80 werd ontwikkeld.
Een netwerkprotocol is een communicatiestijl via een netwerk. Er zijn protocollen voor bijvoorbeeld het verzenden en ophalen van e-mails, en voor het delen van bestanden.
Het **Hypertext Transfer Protocol (HTTP)** is voor het ophalen van benoemde stukjes informatie, zoals webpagina's of afbeeldingen. HTTP behandelt het netwerk als een stroomachtig apparaat waarin je bits kunt plaatsen en ze in de juiste volgorde op de juiste bestemming kunt laten aankomen. Dit gaat lang niet altijd goed. De **Transmission Control Protocol (TCP)** helpt met dit probleem.
Een TCP-verbinding werkt als volgt: computer A moet wachten of luisteren voordat computer B ermee beginnen te "praten". Om te kunnen luisteren naar verschillende soorten communicatie tegelijkertijd op een enkele machine heeft elke luisteraar een nummer, de **port**, dat eraan is gekoppeld.
Als computer B kan worden bereikt en op die port luistert, is de verbinding tot stand gebracht. De luistercomputer (B) wordt de **server** genoemd en de verbindende computer (A) wordt de **client** genoemd.
Het **World Wide Web (WWW)** is een reeks protocollen en formats waarmee we websites in een browser kunnen bezoeken. Elk document op het web wordt genoemd door een **Uniform Resource Locator (URL)**.
Apparaten die met internet zijn verbonden krijgen een **IP-adres**, dat wordt gebruikt om berichten naar andere apparaten te sturen.
**Hypertext Markup Language (HTML)** is het document format dat wordt gebruikt voor webpagina's. HTML bestaat uit platte tekst en tags, die informatie geven over de structuur van het document. Met de tag voeg je JavaScript toe aan een HTML document.
JavaScript programma's worden door browsers ernstig beperkt: het kan niet naar de bestanden op jouw computer kijken of iets wijzigen dat niets te maken heeft met de webpagina zelf. Deze manier van isoleren van een programmeeromgeving wordt **sandboxing** genoemd.
# Chapter 14: The Document Object Model
## Document structure
Je kan een HTML document zien als een verzameling van boxes. Het Document Object Model (DOM) is de datastructuur die een HTML document weergeeft. **document** geeft ons toegang tot deze objecten.
## Trees
Een **tree** is een datastructuur met een takken structuur, heeft 1 duidelijk gedefinieerde **root** en heeft geen **cycles** (een node mag zichzelf niet bevatten). Bij de DOM is **document.documentElement** de root.
Bij de DOM zijn de nodes de elementen, die HTML-tags vertegenwoordigen. Deze bepalen de structuur van het document en kunnen onderliggende nodes hebben. Elke DOM-node heeft de property **nodeType**, die een code (nummer) bevat die het type node identificeert.
## Moving through the tree
Elke node heeft de property **parentNode** die verwijst naar de node waarvan het deel uitmaakt, indien aanwezig. Verder heeft elk element node een property **childNodes** die verwijst naar een array-achtig object dat zijn children bevat. Met de volgende properties kan je door de tree navigeren:
**firstChild**, **lastChild**, **nextSibling** en **previousSibling**.
## Finding elements
Alle element nodes hebben de **getElementsByTagName** method, die alle elementen met de gegeven tag name verzamelt die directe of indirecte children zijn van die node en ze terug geeft als een arrayachtig object.
## Query selectors
De **querySelectorAll** method, die zowel op het documentobject als op element nodes is gedefinieerd, neemt een selector string en geeft een **NodeList** terug met alle elementen waarmee deze overeenkomt. Het object dat wordt terug gegeven door de querySelectorAll method is niet live.
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the submitted summaries for Chapters 4, 13, and 14, covering JavaScript data structures, browser networking, and the DOM. The issue names no file, test, or concrete change, so confirm the expected course deliverable before editing; done should mean the requested summary is complete and ready for use.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- content, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100