JavaScript Academy · Lektion

Implicit typomvandling i operationer

Förutsäg hur + och jämförelser omvandlar typer.

Lektion 3 av 413 steg

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)
Gratis att börja

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

  1. Truthy- och falsy-värden
  2. Lös jämställdhet jämfört med strikt jämställdhet
  3. Implicit typomvandling i operationer
  4. Tekniker för explicit typomvandling
← Tillbaka till JavaScript Academy