2.2 Datatyper och sammansättning av textsträngar
Detta exempel består utav tre delar:
- Exempel på hur värden i olika datatyper skrivs samt värdena
undefined
,null
,NaN
ochinfinity
. - Konvertering från text till numeriskt värde på några olika sätt.
- Plusoperatorns olika betydelse för numeriska värden och strängar samt olika sätt att sätta ihop textsträngar och variabler.
28 min.
Sammanfattning
- Textsträngar omges med antingen citattecken eller apostrofer, t.ex.
"text"
och'text'
.- Se till att använda raka citattecken och apostrofer och inte de böjda, som även finns på en del tangentbord.
- Numeriska värden skrivs utan citattecken, t.ex. 123.
- För tal med en decimaldeldel används decimalpunkt, t.ex. 3.14 — alltså ej komma!
- En variabel som är deklarerad med
let
, men ännu inte tilldelats något värde ärundefined
. - För icke-numeriska datatyper använder man
null
, för att ange att variabeln är tom. - Då en aritmetisk operation inte kan beräknas, blir värdet
NaN
(Not-a-Number). - Ett numeriskt värde som är större än vad som kan representeras i datorn blir
infinity
. - Med
parseInt()
konverterar man till heltal, medparseFloat()
till flyttal och medNumber()
till ett numeriskt värde, oavsett om det är heltal eller flyttal. - Plusoperatorn har olika betydelse beroende på termernas datatyp. Är båda termerna numeriska, blir det en aritmetisk operation. Är någon av termerna en sträng, blir det konkatenering. T.ex. blir 1+2 lika med 3, medan 1+"2" blir "12".
Egna övningar
Här följer ett förslag på några egna övningar. Öppna filen test.html och test.js och utför följande:
- Skapa två variabler kallade
left
ochdelta
. Lägg in textsträngarna"10px"
och"5.4"
i dem. - Skapa ytterligare en variabel kallad
x
och tilldela den med ett uttryck där du lägger ihopleft
ochdelta
med plus. Skriv ut medconsole.log()
.- Resultatet bör bli en textsträng där innehållet lagts ihop,
"10px5.4"
.
- Resultatet bör bli en textsträng där innehållet lagts ihop,
- Ändra plus till multiplikation. Skriv ut med
console.log()
.- Resultatet bör bli att det inte är ett tal,
NaN
.
- Resultatet bör bli att det inte är ett tal,
- Konvertera
left
medparseInt()
ochdelta
medparseFloat()
och utför ovanstående test med plus och multiplikation igen.- Resultatet bör nu bli numeriska värden,
15.4
respektive54
.
- Resultatet bör nu bli numeriska värden,
- Skriv ett uttryck där du konverterar båda variablerna till heltal och lägger ihop dem. Lägg sedan även på "px" igen och skriv ut med
console.log()
.- Resultatet ska bli
"15px"
.
- Resultatet ska bli