Variabelen en objecten
declaratie
variabelen |
|
conversie
parseInt | zet teksten e.d. om naar een geheel getal |
|
parseFloat | zet teksten e.d. om naar een kommagetal |
|
+ | zet tekst om naar een getal |
|
NaN, Infinity, undefined, null
waarde | betekenis | voorbeeld |
---|---|---|
NaN , isNaN()
|
zou een getal moeten zijn, maar is het niet |
|
Infinity
|
oneindige waarde |
|
undefined
|
heeft nog geen waarde gekregen |
|
null
|
idem als undefined , maar betekent eerder "heeft bewust geen waarde"
|
|
Strings
declaratie
gebruik quotes |
|
string interpolatie |
|
multiline string |
|
string properties en methodes
property/methode | omschrijving | voorbeeld |
---|---|---|
|
||
length
|
aantal karakters |
|
endsWith(str)
|
controleert of een string eindigt met str |
|
includes(str)
|
controleert of een string str bevat |
|
indexOf(str)
|
eerste positie van str (-1 indien niet gevonden) |
|
lastIndexOf(str)
|
laatste positie van str (-1 indien niet gevonden) |
|
replace(str1, str2)
|
vervangt de eerste str1 door str2 |
|
replaceAll(str1, str2)
|
vervangt alle str1 door str2 |
|
split(separator)
|
splitst een string in een array |
|
startsWith(str)
|
controleert of een string begint met str |
|
substr(start, num)
|
substring vanaf positie start en num karakters |
|
substring(start, end)
|
substring van posities start tot end |
|
toLowerCase()
|
zet om naar kleine letters |
|
toUpperCase()
|
zet om naar kleine letters |
|
Arrays en objecten
declaratie
arrays |
|
objecten |
|
array properties en methodes
Opmerking: Javascript kent geen onderscheid tussen arrays, lijsten, stacks, queues enz... zoals in C#; alles is een array.
property/methode | omschrijving | voorbeeld |
---|---|---|
|
||
length
|
aantal elementen |
|
contains(item)
|
controleert of de rij item bevat |
|
indexOf(item)
|
eerste index van item (-1 indien niet gevonden) |
|
join(glue)
|
voeg items samen tot een string |
|
pop()
|
verwijder en return element achteraan de rij |
|
push(item)
|
voeg item toe achteraan de rij |
|
shift()
|
verwijder en return element aan het begin de rij |
|
unshift(item)
|
voeg item toe vooraan de rij |
|
Functies
klassieke declaratie |
|
declaratie als constante |
|
declaratie met arrow expressie |
|
optionele parameters |
|
Controlestructuren
selecties
code | omschrijving | voorbeeld |
---|---|---|
|
als |
|
|
als - dan |
|
|
ternaire operator |
|
|
als - dan - als |
|
|
cascade selectiestructuur |
|
|
getrapte ternaire operator |
|
iteraties
code | omschrijving | voorbeeld |
---|---|---|
|
iteratie met vaste grenzen |
|
|
iteratie over een array |
|
|
iteratie over de keys van een object |
|
|
iteratie met callback methode |
|
Document Object Model
querying
Opmerking: alle andere methodes als getElementById()
enz... mogen niet gebruikt worden
functie | omschrijving | voorbeeld |
---|---|---|
|
zoek eerste element op basis van een CSS selector |
|
|
zoek alle elementen op basis van een CSS selector |
|
navigatie
property | omschrijving |
---|---|
node.children |
collectie van children van de huidige node |
node.firstElementChild |
eerste child van de huidige node |
node.lastElementChild |
laatste child van de huidige node |
node.nextElementSibling |
volgende sibling (null indien niet gevonden) |
node.parentNode |
parent van de huidige node |
node.previousElementSibling |
vorige sibling (null indien niet gevonden) |
manipulatie
property | betekenis | voorbeeld |
---|---|---|
|
||
innerHTML
|
HTML code binnen een element |
|
innerText
|
tekst binnen een element (zonder tags) |
|
value , src , href ...
|
HTML attributen verschijnen als Javascript properties |
|
classList
|
lijst van CSS classes voor dit element |
|
style
|
geeft rechtstreeks toegang tot CSS properties |
|
dataset
|
geeft toegang tot custom data-* attributen |
|
Events
event listeners
Events voeg je altijd toe met addEventListener(event, callback)
. Enkele codefragmenten:
code | omschrijving | voorbeelden |
---|---|---|
|
voer callback() uit als event optreedt |
|
|
element waar het event op plaatsvond |
|
|
verhinder de standaardactie van links, submitknoppen enz... |
|
soorten events
event | omschrijving | typische targets |
---|---|---|
click |
muisklik | alle elementen |
mouseover |
muis erboven | alle elementen |
mouseout |
muis ervan weg | alle elementen |
keydown |
toets ingedrukt | tekst elementen |
keyup |
toets losgelaten | tekst elementen |
focus |
element krijgt focus | form elementen |
blur |
element verliest focus | form elementen |
submit |
formulier wordt verstuurd | <form> |
input |
waarde wordt veranderd | <input> en <textarea> |
change |
waarde is veranderd | <input> , <textarea> , <select> |
event object
Het event object e
in ...addEventListener('keydown', (e) => { ... });
bevat informatie over het event.
property | omschrijving | event type |
---|---|---|
e.target |
het element waarop het event plaatsvond | alle event types |
e.key |
ingedrukte toets, b.v 'Z' |
toetsenbord |
e.keyCode |
ASCII nummer van de ingedrukte toets, b.v 90 |
toetsenbord |
e.shiftKey |
werd de shift ingedrukt, b.v true |
toetsenbord |
e.clientX |
horizontale positie van de muis (naar rechts) | muis |
e.clientY |
verticale positie van de muis (naar onder) | muis |
Web API
Schematisch de code van een fetch()
(schrap de stukken code die je niet nodig hebt):
async function getApiData() {
// build request url
const url = 'https://api.somedomain.com/api/method/...';
const params = new URLSearchParams();
params.append('api_key', API_KEY);
params.append('param1', 'val1');
params.append('param2', 'val2');
params.append('...', '...');
url += '?' + params.toString();
// build options
const options = {
method: '...',
headers: {
'Authorization': 'Bearer ghp_fIWhq1DrL...'
...
}
...
};
// fetch data with options
const resp = await fetch(url, options);
if (!resp.ok) {
console.log('opvragen github repos mislukt');
return;
}
const data = await resp.json();
// process data
data.forEach(entry => {
...
});
}
async function doFetch() {
console.log('fetching data...');
await getApiData();
console.log('...done');
}
doFetch();
Debugging
code | omschrijving | voorbeeld |
---|---|---|
|
schrijf tekst naar de console |
|
|
schrijf fout naar de console |
|
|
plaats een breekpunt |
|