Week 9: Strict mode & functions

1 / 32
next
Slide 1: Slide
JavaScriptMBOStudiejaar 2

This lesson contains 32 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Slide 1 - Slide

This item has no instructions

Terugblik

4 code challenges.
Aan jezelf bewijzen dat je het kan.

Slide 2 - Slide

This item has no instructions

Doel van deze les
Advanced fundamentals van JS.
  • Strict mode.
  • Functions.

Alles wordt afgesloten met code challenges.

Slide 3 - Slide

This item has no instructions

Strict mode
Strict mode is een belangrijke keyword. Het zorgt ervoor dat JS veel oplettender is op kleine foute en zal de compiler vertellen jouw feedback te geven wanneer je onduidelijk bent of een fout hebt gemaakt.

Laten wij dit zien aan de hand van een voorbeeld.

Slide 4 - Slide

This item has no instructions

Strict mode
Strict mode is een belangrijke keyword. Het zorgt ervoor dat JS veel oplettender is op kleine foute en zal de compiler vertellen jouw feedback te geven wanneer je onduidelijk bent of een fout hebt gemaakt.

Laten wij dit zien aan de hand van een voorbeeld.

Slide 5 - Slide

This item has no instructions

Wat is er mis met de code?

Slide 6 - Mind map

This item has no instructions

Strict mode
Activeer strict mode door bovenaan jouw file het volgende te schrijven:

'use strict';

Run de code nu nog eens. Wat komt er nu in de console van je browser te staan?

Slide 7 - Slide

This item has no instructions

Strict mode
Strict mode beschermd jou ook tegen het declareren van variabele namen die ook een keyword zijn in JS. Bijvoorbeeld:

const interface = `Audio`;
const private = 543;

Run deze code. Wat zegt de compiler nu?

Slide 8 - Slide

This item has no instructions

Functions
Fundamentele building blocks van programmeren.

Laten wij een samen een voorbeeld maken.

Slide 9 - Slide

This item has no instructions

Functions
function logger() {
    console.log(`My name is Taif`);
}

logger();

*Je kan deze functie zo vaak oproepen als je wilt*

Slide 10 - Slide

This item has no instructions

Hoe noem je het aanroepen van een functie in het Engels?
A
Calling a function
B
Invoking a function
C
Running a function
D
Alle antwoorden zijn correct

Slide 11 - Quiz

This item has no instructions

Functions
Functions zijn net kleine machines. Die kunnen input nemen, er iets mee doen en iets 'uitspugen'.

Laten we een voorbeeld nemen van een foodprocessor.

Slide 12 - Slide

This item has no instructions

Functions
Fundamentele building blocks van programmeren.

Slide 13 - Slide

This item has no instructions

Functions
Opdracht:
Maak een functie genaamd fruitProcessor. Deze neemt twee variabelen, namelijk, 'apples' en 'oranges'. In deze functie moet apples en oranges geprint worden. Maak daaronder ook de variabele 'juice'. Deze variabele moet `Juice with ${apples} apples and ${oranges} oranges.`; bevatten. Return deze value.

Slide 14 - Slide

This item has no instructions

Functions

Laten we dit samen doen.

Slide 15 - Slide

function fruitProcessor(apples, oranges) {
    console.log(apples, oranges);
    const juice = `Juice with ${apples} apples and ${oranges} oranges.`;
    return juice;
}

 const appleJuice = fruitProcessor(5, 0);
 console.log(appleJuice);

 console.log(fruitProcessor(5, 0));

 const appleOrangeJuice = fruitProcessor(2, 4);
 console.log(appleOrangeJuice);

 const num = Number('23');
Functions

Function gebruiken wij om stukken code te hergebruiken.

In programmeren is er een bekende gezegde; Don't Repeat Yourself (DRY principle).

Slide 16 - Slide

function fruitProcessor(apples, oranges) {
    console.log(apples, oranges);
    const juice = `Juice with ${apples} apples and ${oranges} oranges.`;
    return juice;
}

 const appleJuice = fruitProcessor(5, 0);
 console.log(appleJuice);

 console.log(fruitProcessor(5, 0));

 const appleOrangeJuice = fruitProcessor(2, 4);
 console.log(appleOrangeJuice);

 const num = Number('23');
Functions declarations vs expressions
function calcAge1(birthYear) {
     const age = 2037 - birthYear;
     return age;
 }

>>>

function calcAge1(birthYear) {
     return 2037 - birthYear;
 }

Slide 17 - Slide

This item has no instructions

Functions declarations vs expressions
Let op! Wanneer je het woord parameters en arguments gebruikt.

Slide 18 - Slide

This item has no instructions

Wat is het woord dat nu in het oranje is gearceerd.
A
Dit is een argument
B
Dit is een parameter
C
👌🏼
D
Dit is een string literal.

Slide 19 - Quiz

This item has no instructions

Functions declarations
Een function declaration:

// Function declaration
 function calcAge1(birthYear) {
     return 2037 - birthYear;
 }
 const age1 = calcAge1(1989);

Slide 20 - Slide

This item has no instructions

Functions expression
Een function declaration:

// Function declaration
 function calcAge1(birthYear) {
     return 2037 - birthYear;
 }
 const age1 = calcAge1(1989);

Slide 21 - Slide

This item has no instructions

Functions declarations vs expressions
Een function is ook een value want wij kunnen hem in een variabele stoppen.

Welke van de twee moet je gebruiken? Dat ligt aan jouw eigen programmeer-stijl.

Slide 22 - Slide

This item has no instructions

Arrow functions
Opdracht:
Zoek op hoe je een arrow function moet gebruiken in JS.

De functie moet hetzelfde bevatten als calcAge2. Sla deze functie op in een variabele genaamd calcAge3.

Slide 23 - Slide

This item has no instructions

Opdracht:
Zoek op hoe je een arrow function moet gebruiken in JS.

De functie moet hetzelfde bevatten als calcAge2. Sla deze functie op in een variabele genaamd calcAge3.

Slide 24 - Open question

let drink2
if (age >= 18) {
    drink2 = `wine 🍷`;
} else {
    drink2 = `water 💧`;
}
console.log(drink2);
Arrow functions
Laten wij dit samen doen:

Slide 25 - Slide

This item has no instructions


Is dit een expression?
A
Ja, want de inhoud van calcAge3 produceert een waarde.
B
Nee, want dit produceert geen waarde.
C
Dit kan geen expression zijn want het is geen functie.
D
Jesse moet ook les geven in JS #teamspirit.

Slide 26 - Quiz

This item has no instructions

Arrow functions



Geen return nodig.
Goed voor 1 line functions.

Slide 27 - Slide

This item has no instructions

Arrow functions

Slide 28 - Slide

This item has no instructions

Arrow functions

Slide 29 - Slide

This item has no instructions

Arrow functions
Kan ik niet gewoon overal arrow functions gebruiken omdat het zo makkelijk is te gebruiken?

Nee

Dat komt omdat arrow functions geen 'this' keyword ondersteunen. Dit leg ik later uit.

Slide 30 - Slide

This item has no instructions

Functions in functions
Kan ik niet gewoon overal arrow functions gebruiken omdat het zo makkelijk is te gebruiken?

Nee

Dat komt omdat arrow functions geen 'this' keyword ondersteunen. Dit leg ik later uit.

Slide 31 - Slide

This item has no instructions

Functions in functions
Kan ik niet gewoon overal arrow functions gebruiken omdat het zo makkelijk is te gebruiken?

Nee

Dat komt omdat arrow functions geen 'this' keyword ondersteunen. Dit leg ik later uit.

Slide 32 - Slide

This item has no instructions