🟡 Week 3 - Annevd/js-fundamentals GitHub Wiki

Numbers

  • 1
  • 2
  • -5
  • 3.5
  • 2000
  • 2021
  • -23.51

Dit zijn allemaal nummers. Het maakt niet uit of het positief of negatief is, of dat het decimalen heeft. Het zijn allemaal nummers.

Numeric separator (_)

Als je grote getallen beter leesbaarder wil maken kan je _ gebruiken. Javascript leest dit niet.

Bijvoorbeeld:

let nb = 1_000_000; // 1000000 (1 million)

Converting from number to string

Je kan een nummer veranderen naar een string met de .toString() method.

Bijvoorbeeld:

let answer = 42;
answer.toString(); //"42"

NaN

NaN staat voor "Not a Number". Vaak krijg je dit terug als er iets niet klopt in je code. Bijvoorbeeld als je een string probeert te vermenigvuldigen met een getal.

Convert string to number

Als je een string naar een nummer wil veranderen moet je de Number.parseInt() method gebruiken.

Bijvoorbeeld:

let str = "42";
Number.parseInt(str, 10); //42

Deze methode verwacht 2 parameters. Namelijk string en radix: Number.parseInt(string, radix);.

De eerste parameter is de string die je wil omzetten naar een nummer.

De radix is de basis van het numerieke systeem die je wil gebruiken. In de meeste gevallen zul je 10 gebruiken. Dit is hoe wij in het dagelijks leven nummers tellen, het decimale systeem. Met digits 0-9.

Radix 2 representeert binary. Een systeem dat door computers gebruikt wordt.

Can I skip the radix?

Zelfs als de radix een optionele parameter is, moet je deze niet overslaan. Dat is omdat de default niet altijd 10 is. Gebruik dus altijd een radix.

Use cases for converting to a number

Er zijn meerdere redenen waarom je een string naar een nummer zou willen omzetten, maar de meest gebruikte is wanneer het nummer is ingevuld door de gebruiker in een tekstveld of wanneer het nummer vanuit de DOM gelezen wordt.

Als je vergeet om een string naar een nummer om te zetten, zal het opsommen hiervan eruitzien als concatenation:

let a = 10;
let b = "20"; // we forgot to convert it to a number
a + b; // "1020" (concatenation instead of sum)

De Number.parseInt() method zal proberen om de string die het krijgt om te zetten naar een nummer. Het werkt het best wanneer de string begint met een nummer en eindigt met een andere value:

Number.parseInt("123abc", 10); // 123
Number.parseInt("5 meters", 10); // 5

Operations

Nummers kunnen gedeeld en vermenigvuldigd worden. Vermenigvuldiging heb ik eerder al besproken. Voor delen gebruik je de / operator.

Division remainder

Je kan ook de division remainder operator % gebruiken.

Bijvoorbeeld:

8 % 2; // Division remainder is 0
7 % 2; // Division remainder is 1 

De devision remainder is het aantal dat overblijft van het eerste getal minus het aantal keer dat je kan delen tot dit getal.

Bijvoorbeeld:

Voor 7 % 2:

Je deelt 7 door 2: 7 / 2 = 3.5. Daarna pak je het eerste getal voor de komma, en haal je het decimaal weg: 3.

Vervolgens moet je dit getal vermenigvuldigen met 2 (dit komt van % 2): 3 * 2 = 6.

Tot slot is de division remainder dan 7 - 6 = 1.

Number methods

Nog een vaak gebruikte method is het Math object. Dit bevat methods zoals min(), max(), round(), etc.

Voorbeelden:

Math.round(2.1); // 2
Math.round(2.6); // 3
Math.round(2.5); // 3

Math.floor(2.1); // 2
Math.floor(2.6); // 2
Math.floor(2.5); // 2

Math.ceil(2.1); // 3
Math.ceil(2.6); // 3
Math.ceil(2.5); // 3