JavaScript-typekonverteringer (med eksempler)

I denne vejledning lærer du om typekonverteringer i JavaScript ved hjælp af eksempler.

Processen med at konvertere en datatype til en anden datatype kaldes typekonvertering. Der er to typer typekonvertering i JavaScript.

  • Implicit konvertering
  • Eksplicit konvertering

JavaScript implicit konvertering

I visse situationer konverterer JavaScript automatisk en datatype til en anden (til den rigtige type). Dette er kendt som implicit konvertering.

Eksempel 1: Implicit 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"

Bemærk : Når et nummer føjes til en streng, konverterer JavaScript nummeret til en streng før sammenkædning.

Eksempel 2: Implicit 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: Implicit boolsk konvertering til tal

 // 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

Bemærk: JavaScript betragter 0 som falseog alle ikke-nul tal som true. Og hvis truekonverteres til et tal, er resultatet altid 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: udefineret brugt 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-eksplicit konvertering

Du kan også konvertere en datatype til en anden efter dine behov. Den typekonvertering, du foretager manuelt, kaldes eksplicit typekonvertering.

I JavaScript udføres eksplicit typekonvertering ved hjælp af indbyggede metoder.

Her er nogle almindelige metoder til eksplicit konvertering.

1. Konverter til nummer eksplicit

For at konvertere numeriske strenge og boolske værdier til tal kan du bruge 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 nullreturnerer tomme strenge og værdier 0 . For eksempel,

 let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0

Hvis en streng er et ugyldigt tal, bliver 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

Bemærk : Du kan også generere numre fra strenge ved at bruge parseInt(), parseFloat(), unary 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 eksplicit

For at konvertere andre datatyper til strenge kan du bruge 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"

Bemærk : String()tager nullog undefinedog konverterer dem til snor. Men toString()giver fejl nårnull are passed.

3. Konverter til boolsk eksplicit

For at konvertere andre datatyper til en boolsk kan du bruge Boolean().

I JavaScript undefined, null, 0, NaN, ''konverterer 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 værdier giver true. For eksempel,

  result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true

JavaScript-konverteringstabel

Tabellen viser konvertering af forskellige værdier til String, Number og Boolean i JavaScript.

Value String Conversion Number Conversion Boolean Conversion
1 "1" 1 true
0 "0" 0 false
"1" "1" 1 true
"0" "0" 0 true
"ten" "ten" NaN true
true "true" 1 true
false "false" 0 false
null "null" 0 false
undefined "undefined" NaN false
'' "" 0 false
' ' " " 0 true

Du vil lære om konvertering af objekter og arrays til andre datatyper i senere tutorials.

Besøg disse eksempler for at lære mere:

  • JavaScript daterer til numre
  • JavaScript dateres til strenge

Interessante artikler...