Modulelessen (1/4)
Tekenreeksen en sjabloonletterlijke waarden
Strings zijn reeksen karakters. In JavaScript kun je ze afbakenen op drie manieren, allemaal gelijkwaardig aan de motor, maar met één superkracht gereserveerd voor backticks:
'single quotes';
'double quotes';
`backticks — template literals`;Enkele en dubbele aanhalingstekens zijn uitwisselbaar: gebruik wat u toelaat vermijd het ontsnappen van het andere teken in uw tekst:
'L\'isola'; // the apostrophe needs to be escaped
"L'isola"; // here it doesn't
"He said \"hi\"";
'He said "hi"';Ontsnap aan karakters
Binnen elke string kunt u "niet-afdrukbare" tekens invoegen met een backslash:
\n— nieuwe regel\t— tabblad\\— een letterlijke backslash\'/\"— letterlijk enkele/dubbele aanhalingstekens
console.log('line 1\nline 2');
// line 1
// line 2Sjabloonletterlijke waarden: de syntaxis die u standaard wilt gebruiken
Backticks ontgrendelen twee dingen die onmogelijk zijn met de andere scheidingstekens:
- Meerdere regels zonder escape-tekens: letterlijke nieuwe regels zijn toegestaan.
- Interpolatie: binnen
${ … }kunt u elke JS-expressie plaatsen en de waarde ervan wordt in het resultaat geplakt.
const nome = 'Anna';
const eta = 28;
const messaggio = `Ciao ${nome}, hai ${eta} anni.
Fra un anno ne avrai ${eta + 1}.`;De expressie binnen ${ … } hoeft geen eenvoudige naam te zijn: dat kan het zijn
alles dat een waarde produceert, inclusief functieaanroepen en operators.
Aaneenschakeling met +
Historisch gezien werden snaren gecomponeerd met +. Het werkt nog steeds en is nuttig
in zeldzame gevallen (bijvoorbeeld als je een string in meerdere stappen opbouwt):
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'Probeer het
Gegeven `naam = 'Luca'` en `leeftijd = 30`, stelt u met een sjabloon letterlijk de string 'Luca ha 30 anni.' samen. (precies deze tekst) als laatste uitdrukking.
Toon hint
Gebruik backticks en ${...} interpolatie om waarden in de string in te voegen.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Gegeven twee prijzen `p1 = 7,5` en `p2 = 3,20`, retourneer als laatste uitdrukking de string 'Totaal: 10,7 euro'.
Toon hint
Binnen ${...} kun je elke expressie plaatsen, inclusief p1 + p2.
Oplossing beschikbaar na 3 pogingen