Implicit typomvandling i operationer
Förutsäg hur + och jämförelser omvandlar typer.
Implicit typomvandling i operationer är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 4 lektioner.
Implicit typomvandling
Implicit typomvandling sker när en operator omvandlar operander till en typ som operationen kräver. Olika operatorer utlöser olika omvandlingar.
console.log("5" + 1)
console.log("5" - 1)Plus med strängar
Plusoperatorn är speciell: om någon operand är en sträng utför den strängkonkatenering i stället för numerisk addition.
console.log("3" + 4)
console.log(3 + "4")
console.log("a" + 1 + 2)Tal plus tal
När båda operanderna är tal adderar plusoperatorn dem. Beräkningsordningen spelar roll när strängar dyker upp senare i kedjan.
console.log(1 + 2 + "3")
console.log("1" + 2 + 3)Minus tvingar fram tal
Minusoperatorn har ingen strängbetydelse och omvandlar därför alltid båda operanderna till tal, även strängar som ser numeriska ut.
console.log("10" - "4")
console.log("10" - 4)Multiplikation och division
Liksom minusoperatorn omvandlar multiplikations- och divisionsoperatorerna operander till tal. Icke-numeriska strängar ger NaN.
console.log("6" * "2")
console.log("abc" * 2)Unärt plus
Ett unärt plus framför ett värde omvandlar det till ett tal och är ett kortfattat omvandlingsknep.
console.log(+"42")
console.log(+"3.14")
console.log(+true)Typomvandling vid jämförelser
Relationella operatorer som mindre än omvandlar operander till tal, såvida båda inte är strängar; i så fall jämförs de alfabetiskt.
console.log("10" > 5)
console.log("apple" < "banana")Blandade jämförelser
När den ena sidan är en sträng och den andra ett tal omvandlas strängen till ett tal inför jämförelsen.
console.log("20" > 3)
console.log("3" > 20)Boolean i aritmetik
Booleans blir 1 eller 0 i aritmetik, så om du adderar true till ett tal ökar talet med ett.
console.log(true + true)
console.log(5 + false)Arrayer vid typomvandling
Arrayer omvandlas till strängar när de används med plusoperatorn. En tom array blir en tom sträng, och en array med ett element blir det elementet som text.
console.log([] + [])
console.log([1, 2] + [3])Undvika överraskningar
Förhindra oavsiktlig konkatenering eller NaN genom att uttryckligen omvandla med Number eller String före operationen. Tydlig avsikt är bättre än att förlita sig på typomvandling.
const a = "5"
const b = "3"
console.log(Number(a) + Number(b))Snabbtest
Testa dina kunskaper om typomvandling.
Sammanfattning
Sammanfattning: Operatorer utlöser olika typomvandlingar.
- Plus konkatenerar om någon operand är en sträng
- Minus, multiplikation och division tvingar fram tal
- Jämförelser omvandlar till tal om inte båda operanderna är strängar
- Omvandla uttryckligen för att undvika överraskningar
console.log("5" + 1)
console.log("5" - 1)Lär dig JavaScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 59
- Lektioner
- 200
Vanliga frågor
Är lektionen ”Implicit typomvandling i operationer” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Implicit typomvandling i operationer”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Implicit typomvandling i operationer”?
Förutsäg hur + och jämförelser omvandlar typer. Ni övar på JavaScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig JavaScript Academy?
Du behöver inga förkunskaper. Utbildningen i JavaScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Implicit typomvandling i operationer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här JavaScript Academy-lektionen?
Ja. Varje JavaScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Truthy- och falsy-värden
- Lös jämställdhet jämfört med strikt jämställdhet
- Implicit typomvandling i operationer
- Tekniker för explicit typomvandling