Informatietechnologie 2. JavaScript. Strings, getallen, datums, arrays en loops. Kristof Michiels

Vergelijkbare documenten
Informatietechnologie 2. JavaScript. Functies, Objecten en toegang tot de DOM. Kristof Michiels

Variabelen en statements in ActionScript

Lab Webdesign: Javascript 10 maart 2008

OEFENINGEN PYTHON REEKS 1

Javascript oefenblad 1

Informatietechnologie 2. JavaScript. Inleidende les. Kristof Michiels

PYTHON REEKS 1: BASICS. Mathias Polfliet

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1

Programmeren in Java les 3

Code Voorbeeld Resultaat. print(6, end="") print(7) print(type(6)) <class 'int'> + optelling - aftrekking * vermenigvuldiging / deling 8 16 % modulo

Vakgroep CW KAHO Sint-Lieven

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

BEGINNER JAVA Inhoudsopgave

Small Basic Programmeren Text Console 2

Lab Webdesign: Javascript 3 maart 2008

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Python. Informatica. Renske Smetsers

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Niet-numerieke data-types

[13] Rondjes draaien (loops)

Blog-Het gebruik van variabelen in Excel VBA

algoritmiek - antwoorden

Inleiding Programmeren 2

Een spoedcursus python

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

VBA voor Doe het Zelvers deel 20

Java Les 3 Theorie Herhaal structuren

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Javascript deel 3. Document Object Model Objecten

VAN HET PROGRAMMEREN. Inleiding

3. Structuren in de taal

Voorbeeld: Simulatie van bewegende deeltjes

Programmeermethoden NA

Inleiding Programmeren 2

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

[8] De ene 1 is de andere niet

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Programmeermethoden NA. Week 6: Lijsten

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Meer Blokken. 1. Dit is een functie genaamd Maximum, die twee argumenten heeft: number1 en number2.

Programmeren met Python

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Lab Webdesign: Javascript 11 februari 2008

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Inhoud Inhoud 1 Basis HTML5 en CSS3 1

Lab Webdesign: Javascript 25 februari 2008

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Wat als je een heleboel informatie wilt opslaan? Bijvoorbeeld alle namen van iedereen die bij jouw dojo's aanwezig is? Hier gebruik je een lijst voor:

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

import java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!

Programmeren met Arduino-software

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109

DOM: attributen, styling, classes, events, timeouts en intervallen, willekeurige getallen en forms

Weet jij een paar leuke lijstjes? Denk bijvoorbeeld aan alle kinderen in je klas of al je vriendjes of vriendinnetjes.

JavaScript - antwoorden

Modelleren en Programmeren

Lineaire data structuren. Doorlopen van een lijst

JavaScript. F. Vonk versie

Deeltentamen Grammatica s en ontleden 22 december 2005

Afhankelijk van wanneer je het programma uitvoert, zie je een van de volgende resultaten:

Een korte samenvatting van enkele FORTRAN opdrachten

Modelleren en Programmeren

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica


extra oefening algoritmiek - antwoorden

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

Als je de categorie Getal hebt gekozen kunt u in de notatie bepalen hoe het getal moet worden weergegeven.

oefening JavaScript - antwoorden

Je hoeft je maar met twee bestanden bezig te houden:

Tentamen Programmeren in C (EE1400)

Geeft de lengte van een object (string, lijst, tupel) terug als integer

Doorzoeken van grafen. Algoritmiek

INHOUD. Over de auteur... 5 Over de technisch beoordelaar... 5 DANKWOORD 13 INLEIDING 15

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.

Modelleren en Programmeren

OEFENINGEN PYTHON REEKS 5

Informatica: C# WPO 6

SQL datadefinitietaal

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Informatica: C# WPO 11

APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Transcriptie:

Informatietechnologie 2 JavaScript Strings, getallen, datums, arrays en loops Kristof Michiels

In deze presentatie Strings: methods en properties Getallen Datums Arrays Loops 2 / 48

Strings: methods en properties

concat() We weten ondertussen dat we strings aan elkaar kunnen plakken met de + operator. Er is evenwel nog een andere manier. We kunnen hiervoor ook de concat method gebruiken let deel1 = "The Marvelous "; let deel2 = "Mrs. Maisel"; let samen = deel1.concat(deel2); console.log(samen); // The Marvelous Mrs. Maisel 4 / 48

length Strings hebben verder ook een length property waarmee we kunnen te weten komen uit hoeveel karakters de string bestaat. let deel1 = "Hallo "; let deel2 = "wereld"; let samen = deel1 + deel2; console.log(samen.length); // 12 5 / 48

Aanhalingstekens Wanneer we dubbele aanhalingstekens gebruiken om een string aan te maken, dan kunnen we geen dubbele aanhalingstekens gebruiken binnen de string. En omgekeerd. let zin1 = "Piano's wegen zwaar"; let zin2 = '"Weet dat je niet weet" - Socrates'; console.log(zin1); console.log(zin2); 6 / 48

Escapen Een betere manier om om te gaan met dit probleem: het escapen van dergelijke karakters. Je doet dit door een \ teken te plaatsen voor het karakter in kwestie. Met het \ teken, ook escape karakter genoemd, kunnen we enkele of dubbele aanhalingstekens gebruiken binnen een string let zin1 = 'Piano\'s wegen zwaar'; let zin2 = "\"Weet dat je niet weet\" - Socrates"; console.log(quote1); console.log(quote2); 7 / 48

slice() Met de slice() method kunnen we een stukje uit een string knippen. De getallen die we meegeven met de slice() method zijn de start- en eindpositie van de string die we willen uitknippen. Als we negatieve waardes gebruiken, dan wordt de positie geteld vanaf het einde van de string. let s = "Met de slice() method kunnen we een stukje uit een string knippen."; console.log(s.slice(15,31)); // method kunnen we 8 / 48

substr() De substr() method gedraagt zich zoals slice(), met het verschil dat de 2de waarde die we meegeven de lengte van de string die we willen uitknippen. Het tweede getal is hier optioneel (net zoals bij slice). Als we het niet meegeven dan wordt geknipt tot het einde van de originele string let s = "De kat krabt de krollen van de trap"; console.log(s.substr(13)); // de krollen van de trap console.log(s.substr(13, 10)); // de krollen 9 / 48

replace() We kunnen de replace() method gebruiken om binnen een string te zoeken en te vervangen. Replace() zoekt naar de waarde die we meegeven en geeft de string terug waarin de vervanging(en) is/zijn gebeurd. let zin = "Hallo Wereld!"; let nieuwezin = zin.replace("wereld","aan jezelf"); console.log(nieuwezin); // Hallo aan jezelf! 10 / 48

tolowercase() en touppercase() We kunnen van een string een string met enkel kleine letters maken door gebruik te maken van.tolowercase(). Er bestaat een gelijkaardige method om alle letters tot drukletters om te vormen, namelijk.touppercase() let zin = "Hallo Wereld!"; let nieuwezin = zin.touppercase(); console.log(nieuwezin); // HALLO WERELD! 11 / 48

Getallen

Number Getallen. Niet bang zijn, we gaan er geen hogere wiskunde van maken. Getallen beschikken ook over properties en methods. Er is slechts één type getal in JS: number. let leeftijd = 42; let lengte = 1.72; console.log(typeof(leeftijd)); // number console.log(typeof(lengte)); // number 13 / 48

Modulus: rest bij deling door De modulus operator (%) geeft de rest bij deling door een bepaald getal terug. Handig als je de deelbaarheid van een getal door een ander getal wil bepalen. Is 9 deelbaar door 2? Neen, want 9 % 2 = 1. Is 8 deelbaar door 4? Ja, want 8 % 4 = 0. let x = 5; let y = 2; let z = x % y; console.log(z); // 1 console.log(6 % 2); // 0 console.log(15 % 4); // 3 14 / 48

Operaties op getallen met andere datatypes Wanneer we een waarde willen gebruiken van een datatype dat niet gemaakt is voor sommige operaties, dan probeert JavaScript het om te zetten naar een datatype dat daar wel voor geschikt is. let getal = "10" + 10; console.log(getal); // "1010" 15 / 48

NaN Een ander concept binnen JS: NaN of Not a Number. Vertelt ons dat een waarde geen getal is. Wanneer we een wiskundige operatie proberen met een niet-numerieke string dan is het resultaat NaN. Hoewel NaN staat voor Not a Number is het data type toch een number. let getal = 20 / "Robin"; console.log(getal); // NaN 16 / 48

parseint() en parsefloat() We kunnen numerieke strings omzetten naar getallen. Via parseint() voor gehele getallen. Of via parsefloat() voor reële getallen. Parsing is het proces van het analyseren en verwerken van een string. De strings mogen ook nietnumerieke karakters bevatten. Zolang ze maar starten met een getal. let string = "59.99 USD"; let prijs1 = parseint(string); let prijs2 = parsefloat(string); console.log(prijs1 + " " + prijs2); // 59 59.99 17 / 48

Math.round() We kunnen de Math.round() method gebruiken om een getal af te ronden. Afronden gebeurt naar boven of naar beneden, naar het dichtsbijzijnde gehele getal. Onthou dat waardes onder de 0.5 naar beneden zullen afgerond worden. Vanaf 0.5 worden ze naar boven afgerond. let pi = 3.141592653589793; let getal = Math.round(pi); console.log("pi is nu " + pi); // Pi is nu 3 18 / 48

Het Math object Math is een object die verschillende constantes bevat. Zoals Math.PI. En ook methods zoals math.random(). PI is een constante, dwz een variabele die niet gewijzigd kan worden. En Math.random() geeft je een willekeurig getal tussen 0 en 1. let getal = Math.PI; let willekeurig = Math.random(); console.log(getal); // 3.141592653589793 console.log(willekeurig); // 0.3672451738322162 (bijvoorbeeld) 19 / 48

Datums

Het Date object Een ander object, Date, laat ons werken met datums en tijd. Het verschil tssen Date en Math is dat we het woord new gebruiken om een zogenaamde instance ervan te verkrijgen. Een datum bevat een jaar, maand, dag, uur, minuut, seconde en millisecondes. let datum = new Date("1995-10-21"); console.log(datum); // Mon Oct 21 1995 01:00:00 GMT+0100 21 / 48

Het Date object Omdat ze objecten zijn hebben datums een aantal methodes die ons helpen datums te gebruiken. Laat ons zelf een datum string bouwen let datum = new Date("1995-10-21"); let jaar = datum.getfullyear(); // 1995 let maand = datum.getmonth() + 1; // 10 (start met 0) let dag = datum.getdate(); // 21 (getday() zou ons het dagnummer geven, start met 0) console.log(jaar + "/" + maand + "/" + dag); // 1995/10/21 22 / 48

Het Date object We kunnen deze datums op een aantal manieren gebruiken. We kunnen hen veranderen, vergelijken, en hen vertonen. let d1 = new Date(1985,10,21); let d2 = new Date(d1.getTime()); d2.setfullyear(2019); if (d1 < d2) { console.log(d1.todatestring()) + " is \"kleiner\" dan " + d2.todatestring()); } else { console.log(d1.todatestring()) + " is \"groter\" dan " + d2.todatestring()); } // Thu Nov 21 1985 is "kleiner" dan Thu Nov 21 2019 Heb je gezien hoe we d1 en d2 aanmaakten? De gettime() method geeft de tijd terug in milliseconden die verstreken zijn sinds 1970. 23 / 48

Arrays

Arrays Een array is een bijzonder type variabele, die verschillende waarden van een type of zelfs verschillende types kan bevatten. Arrays bieden een geweldige manier om gerelateerde waarden op te slaan. let dingen = ["raindrops","roses","whiskers","kittens"]; console.log(dingen); // ["raindrops","roses","whiskers","kittens"] 25 / 48

Arrays We creëren een array door waarden binnen vierkante haakjes toe te kennen aan een variabele. We kunnen zelfs lege vierkante haakjes gebruiken om zo een lege array aan te maken. let dingen = []; console.log(dingen); // [] 26 / 48

Index posities Hoe kunnen we die waarden opvragen? Arrays hebben posities of index posities. Dus, om een bepaalde waarde op te vragen gaan we het overeenkomstige indexgetal tussen vierkante haakjes meegeven. Deze index posities starten bij 0. let dingen = ["raindrops","roses","whiskers","kittens"]; console.log(dingen[3]); // "kittens" 27 / 48

tostring() Arrays zijn objecten. Dit betekent dat we kunnen gebruik maken van een reeks methods. Hier: een method tostring() die de array omvormt tot een komma-gescheiden string. Hetzelfde geldt voor join() als we het een string als separator meegeven. let dingen = ["raindrops","roses","whiskers","kittens"]; console.log(dingen.tostring()); // "raindrops,roses,whiskers,kittens" let vruchten = ["banaan", "sinaasappel", "appel", "mango"]; let energie = vruchten.join("-"); console.log(energie); // banaan-sinaasappel-appel-mango 28 / 48

length Zoals bij strings is er een eigenschap (of property) die ons vertelt hoeveel elementen een array telt. let dingen = ["raindrops","roses","whiskers","kittens"]; console.log(dingen.length); // 4 29 / 48

Arrays: index Niet enkel kunnen we een waarde door zijn index opvragen. We kunnen ze ook veranderen. Bovendien kunnen we ook waarden toevoegen met een index nummer. De index telt wel vanaf 0! let dingen = ["raindrops","roses","whiskers","kittens"]; dingen[0] = "kettles"; console.log(dingen); // ["kettles","roses","whiskers","cats"] dingen[4] = "tall hat"; console.log(dingen); // ["kettles","roses","whiskers","cats","tall hat"] 30 / 48

Arrays: split() We hebben reeds strings uit arrays gecreëerd. We kunnen ook arrays maken uit een string. We kunnen de split() method met een separator gebruiken om een string op te splitsen in een array van zgn substrings. let sentence = "raindrops and roses and whiskers and kittens"; let dingen = sentence.split(" and "); console.log(dingen); // ["raindrops","roses","whiskers","kittens"] 31 / 48

Arrays: push() We kunnen de push() method gebruiken om een nieuwe waarde aan het einde van de array toe te voegen. Heeft hetzelfde resultaat als een waarde toekennen aan de index van dingen.length let dingen = ["raindrops","roses","whiskers","kittens"]; dingen.push("kettles"); console.log(dingen); // ["kettles","roses","whiskers","kittens","kettles"] 32 / 48

Arrays: pop() Waarden verwijderen uit arrays? De pop() method verwijdert de laatste waarde uit de array. Als we deze toekennen aan een variabele, dan ontvangt deze variabele de verwijderde waarde. let dingen = ["raindrops","roses","whiskers","kittens"]; let ding = dingen.pop(); console.log(dingen); // ["raindrops","roses","whiskers"]; console.log(ding); // kittens 33 / 48

Arrays: shift() Wat als we de eerste waarde willen verwijderen? Dat doen we met de shift() method. Shift() verwijdert het eerste element uit de array en verhuist alle andere waarden naar een lagere index. let dingen = ["raindrops","roses","whiskers","kittens"]; dingen.shift(); console.log(dingen[0]); // roses 34 / 48

Arrays: unshift() De unshift() method is het tegenovergestelde van shift(). Het voegt een waarde toe aan het begin van de array. Alle andere waarden krijgen een hoger indexgetal. We kunnen unshift() ook gebruiken met meerdere waardes tegelijk. let dingen = ["raindrops","roses","whiskers","kittens"]; dingen.unshift("guitars"); console.log(dingen); // ["guitars","raindrops","roses","whiskers","kittens"]; 35 / 48

Arrays: splice() De splice() method kan waarden toevoegen, vervangen en verwijderen. Splice() neemt twee getallen en daarna eventueel een variabel aantal waarden. let fruit = ["banaan", "sinaasappel", "appel", "mango", "kiwi"]; fruit.splice(2, 2); // Op positie 2, verwijder 2 items console.log(fruit); // ["banaan", "sinaasappel", "kiwi"] fruit.splice(2, 1, "citroen", "kiwi"); // 2 items bij en 1 verwijderen op index 2 console.log(fruit); // ["banaan", "sinaasappel", "citroen", "kiwi"] fruit.splice(2, 0, "peer", "pruim"); // 2 items bij op index 2, geen verwijderen console.log(fruit); // ["banaan", "sinaasappel", "peer", "pruim", "citroen", "kiwi"] 36 / 48

Arrays: sort() We kunnen de sort() method gebruiken om een array in alfabetische volgorde te sorteren. Als we de volgorde willen omkeren kunnen we reverse() gebruiken op de array. let dingen = ["raindrops","roses","whiskers","kittens"]; dingen.sort(); console.log(dingen); // ["kittens","raindrops","roses","whiskers"] dingen.sort().reverse() console.log(dingen); // ["whiskers", "roses", "raindrops", "kittens"] 37 / 48

Loops

Loops? Programmeurs zijn graag lui. Ze hebben gelijk :-) En ze houden hun code graag zo kort en leesbaar mogelijk. Dit doet pijn aan de ogen let getallen = [3,7,14,15]; getallen[0]++; getallen[1]++; getallen[2]++; getallen[3]++; console.log(getallen); // [4,8,15,16] 39 / 48

De for-loop We kunnen loops gebruiken om deze stukjes code zo vaak te herhalen als we nodig achten. In de haakjes na de for plaatsen we een control variabele, een voorwaarde en een manier om de voorwaarde false te maken op een bepaald punt. let string = ""; for(let i = 0; i < 5;i++) { string += i; } console.log(string) // 01234 40 / 48

De for-loop Gaan we nu terug naar ons eerste voorbeeld, dan krijgen we het volgende. De loop zal starten op 0 en zal duren tot i niet meer kleiner is dan de length van de array. Handig, want dit komt exact overeen met de index (en dus het aantal elementen) van de array. let getallen = [3,7,14,15]; for(var i = 0; i < getallen.length; i++) { getallen[i]++; } console.log(getallen); // [4,8,15,16] 41 / 48

Loopen met het in keyword Er is een andere manier om met for door de array te loopen, door gebruik te maken van het in keyword. let dingen = ["raindrops","roses","whiskers","kittens"]; for(let ding in dingen) { console.log(dingen[ding]); } // raindrops roses whiskers kittens 42 / 48

De while-loop De while loop, een andere soort loop, loopt door een groep statements zo lang een speci eke conditie waar is. We gebruiken het while keyword om while loops te creëren. Dit soort loops hebben geen controle variabelen, dus we moeten er dus zelf voor zorgen dat de voorwaarde vals wordt. let getallen = [3,7,14,15,17,18]; let i = 0; while (i < getallen.length) { getallen[i]++; i++; } console.log(getallen); // [4, 8, 15, 16, 18, 19] 43 / 48

De do while-loop Een lichte variatie op de while loop is de do-while loop. Een do-while loop loopt minstens één keer, zelfs indien de voorwaarde vals is. let getallen = [3,7,14,15,17,18]; let i = 0; do { getallen[i]++; i++; } while(i < getallen.length); 44 / 48

Break Soms willen we uit de loop starten voor deze normaliter zou afgelopen zijn. We kunnen hiervoor het break keyword gebruiken. for(var i = 0; i < 5; i++) { if (i === 1) { break; } console.log("tellen tot " + i); // tellen tot 0 } 45 / 48

Continue Als we een speci eke iteratie willen stoppen, maar toch verder gaan met de loop, dan kunnen we gebruik maken van continue. for(var i = 0; i < 5; i++) { if (i == 1) { continue; } console.log("tellen tot " + i); // Tellen tot 0 Tellen tot 2 Tellen tot 3 Tellen tot 4 } 46 / 48

We hebben vandaag gezien: Strings Getallen Datums Arrays Loops 47 / 48

IT2 - JavaScript: les 2 Strings, getallen, datums, arrays en loops kristof.michiels01@ap.be