I denne veiledningen lærer du om typekonvertering i JavaScript ved hjelp av eksempler.
Prosessen med å konvertere en datatype til en annen datatype kalles type konvertering. Det er to typer typekonvertering i JavaScript.
- Implisitt konvertering
- Eksplisitt konvertering
JavaScript implisitt konvertering
I visse situasjoner konverterer JavaScript automatisk en datatype til en annen (til riktig type). Dette er kjent som implisitt konvertering.
Eksempel 1: Implisitt konvertering til streng
// numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"
Merk : Når et tall legges til i en streng, konverterer JavaScript tallet til en streng før sammenkobling.
Eksempel 2: Implisitt konvertering til nummer
// numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2
Eksempel 3: Ikke-numeriske strengresultater til NaN
// non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN
Eksempel 4: Implisitt boolsk konvertering til nummer
// if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4
Merk: JavaScript anser 0 som false
og alle tall som ikke er null som true
. Og hvis true
konverteres til et tall, blir resultatet alltid 1.
Eksempel 5: null konvertering til nummer
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Eksempel 6: udefinert brukt med nummer, boolsk eller null
// Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN
JavaScript-eksplisitt konvertering
Du kan også konvertere en datatype til en annen etter dine behov. Typekonvertering du gjør manuelt er kjent som eksplisitt typekonvertering.
I JavaScript gjøres konvertering av eksplisitt type ved hjelp av innebygde metoder.
Her er noen vanlige metoder for eksplisitte konverteringer.
1. Konverter til nummer eksplisitt
For å konvertere numeriske strenger og boolske verdier til tall, kan du bruke Number()
. For eksempel,
let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0
I JavaScript null
returnerer tomme strenger og verdier 0 . For eksempel,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Hvis en streng er et ugyldig nummer, blir resultatet NaN
. For eksempel,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Merk : Du kan også generere tall fra strenger bruker parseInt()
, parseFloat()
, ensartet operatør +
og Math.floor()
. For eksempel,
let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20
2. Konverter til streng eksplisitt
For å konvertere andre datatyper til strenger, kan du bruke enten String()
eller toString()
. For eksempel,
//number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"
Merk : String()
tar null
og undefined
og konverterer dem til streng. Men toString()
får feilmelding når dennull are passed.
3. Konverter til eksplisitt til boolsk
For å konvertere andre datatyper til en boolsk, kan du bruke Boolean().
I Javascript, undefined
, null
, 0
, NaN
, ''
konvertitter til false
. For eksempel,
let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false
Alle andre verdier gir true
. For eksempel,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
JavaScript-konverteringstabell
Tabellen viser konvertering av forskjellige verdier til streng, antall og boolsk i JavaScript.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 |
|
0 | "0" | 0 |
|
"1" | "1" | 1 |
|
"0" | "0" | 0 |
|
"ten" | "ten" |
|
|
| "true" | 1 |
|
| "false" | 0 |
|
| "null" | 0 |
|
| "undefined" |
|
|
'' | "" | 0 |
|
' ' | " " | 0 |
|
Du vil lære om konvertering av objekter og matriser til andre datatyper i senere opplæringsprogrammer.
Besøk disse eksemplene for å lære mer:
- JavaScript dateres til tall
- JavaScript dateres til strenger