Basics Flashcards
Hoe moet je javascript toevoegen aan een HTML pagina
Met de volgende regel:Voeg de volgende regel toe in de head van je html bestand:
(script src=”script/main.js” defer)(/script)
- Wat is strict mode?
- Waarom is het goed om in strict mode te programmeren?
- Hoe kunnen we strict mode activeren?
Strict mode is een speciale javascript modus die we kunnen gebruiken zodat javascript op een strictere manier wordt uitgevoerd.
Dit zorgt ervoor dat we als programmeur betere en minder foutgevoelige code schrijven.
- Strict mode kan toegepast worden op volledige bestanden of op enkele codeblocks
Om een functie in strict mode uit te voeren plaats ‘use strict’; helemaal bovenaan in de body van de functie.
Om een bestand in strict mode uit te voeren plaats ‘use strict’; helemaal bovenaan het bestand
Wat is het verschil tussen variabele declaratie, initialisatie en definitie?
// definitie van een variabele
let a = 5;
// declaratie van meerdere variabelen
let b, c, d;
// initialisatie van de variabele b
b = 8;
Wat zijn de naming rules en conventions voor variabelen?
Regels:
- Geen gereserveerde woorden
- Niet beginnen met een cijfer
- Geen speciale karakters behalve underscore of het dollarteken
Conventies:
- camelCase notatie
- Namen moeten betekenisvol zijn
Wat is het verschil tussen primitieve datatypen en reference datatypes?
Een belangrijk verschil tussen beiden is dat objecten referentietypes zijn en primitieven value types zijn. M.a.w. wanneer we een object meegeven aan een functie oproep, en de functie dit object aanpast, dan zal deze aanpassing ook blijvend zijn. Dit is omdat niet het object maar een referentie naar het object in het geheugen wordt meegegeven aan de functie.
Bij primitieven is dit niet het geval. Wanneer een primitieve wordt meegegeven aan een functie dan wordt zijn waarde gekopieerd en gebeuren alle aanpassing op dat kopie. We zeggen ook wel dat primitieven call by value types zijn en object call by reference types zijn.
Met welke operator kunnen we het datatype van een variabele opvragen?
Met de typeof operator:
console.log(typeof e);
- Javascript is een dynamische getypeerde taal. Wat wilt dit zeggen?
- Wat is een statische getypeerde taal?
- Dit wilt zeggen dat het type van een variabele at runtime nog kan veranderen. Daarom is het niet noodzakelijk om het type van de variabele te specificeren wanneer we er een declareren. Het type van de variabele wordt door javascript automatisch gedetecteerd.
- Bij een statisch getypeerde taal kan het type at runtime niet meer veranderen. Hier is het wel altijd belangrijk om bij definitie het type van de variabele in kwestie aan te geven.
Wat is het verschil tussen een statement en een expressie?
Een expressie is een stuk code dat een nieuwe waarde teruggeeft. De meest simpele expressies zijn singletons zoals bijvoorbeeld getallen. Operatoren geven ons de mogelijkheid om simpele expressies met elkaar te combineren.
Een statement is een regel code dat iets doet
Wat zijn truthy en falsey values?
Falsey waarden zijn primitieve waarden die door de operator als false waarden worden beschouwd. Truthy waarden zijn primitieve waarden die als true worden beschouwd:
- falsey values: undefined, null, 0, ‘’, NaN
- Truthy values: alle niet falsey values
Gegeven:
let x = 5;
Boolean(x);
console.log(x);
- Wat doet Boolean(x)?
- Welke waarde zal console.log(x) printen
- Gaat de true of false teruggeven. Als het argument een falsey value is dan zal false worden teruggegeven, anders wordt er true teruggeven.
- de waarde 5 zal uitgeprint worden. Boolean(x) is dus geen mutator.
Wat is lazy evalution of short circuiting?
Is het de naam dat gegeven wordt aan operatoren die niet al hun operanden hoeven te evalueren alvorens ze een resultaat kunnen teruggeven.
Wat doet de nullish coalescing operator (??) ?
Deze operator werkt net als de OR operator (||) met als verschil dat het de lege string(‘’) en 0 niet als falsey values beschouwt.
Wat is coercion? Geef een voobeeld?
coercion is wanneer het ene datatype automatisch wordt omgezet naar een andere datatype. Een voorbeeld hiervan is wanneer we een getal met een string combineren:
const age = 31;
const phrase = “I am “ + age + “ years old”;
Hier zal 31 omgezet worden in een string. Deze automatische conversie wordt geïnitieerd door de + operator. Alse deze operator een getal en een string als operanden heeft dan zal het dat getal omzetten naar een string zodat beide operanden kunnen samengevoegd worden in een string.
Gegeven is de volgende code:
let inputYear = ‘1991’;
Number(inputYear) + 18;
Van welk type is inputYear na uitvoer van de tweede regel code?
inputYear is nog steeds van het type string. De expressie Number(inputYear) + 18 zal echter resulteren in een waarde van het type Number.
Het is dus belangrijk om te weten dat Number het datatype van de originele variabele niet aanpast.
- Wat stelt NaN voor?
- Geef een voorbeeld van wanneer we dergelijk output terugkrijgen
- NaN, dat staat voor Not a Number, is een waarde dat we terugkrijgen wanneer we een operatie hebben uitgevoerd dat oorspronkelijk een getal had moeten produceren maar waarbij het niet mogelijk is om dit getal te bekomen.
- Voorbeeld:
let firstName = ‘Jimmy’;
let n = Number(firstName); // geeft NaN terug
console.log(n); // zal NaN printen