JavaScript Type Conversion
- Converting Strings to Numbers
- Converting Numbers to Strings
- Converting Dates to Numbers
- Converting Numbers to Dates
- Converting Booleans to Numbers
- Converting Numbers to Booleans
JavaScript Type Conversion
JavaScript variables can be converted to a new variable and another data type:
- By the use of a JavaScript function
- Automatically by JavaScript itself
Converting Strings to Numbers
The global method Number()
can convert strings to numbers.
Strings containing numbers (like “3.14”) convert to numbers (like 3.14).
Empty strings convert to 0.
Anything else converts to NaN
(Not a Number).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
Number Methods
Method | Description |
---|---|
Number() | Returns a number, converted from its argument |
parseFloat() | Parses a string and returns a floating point number |
parseInt() | Parses a string and returns an integer |
The Unary + Operator
The unary + operator can be used to convert a variable to a number:
Example
let y = "5"; // y is a string
let x = + y; // x is a number
If the variable cannot be converted, it will still become a number, but with the value NaN
(Not a Number):
Example
let y = "John"; // y is a string
let x = + y; // x is a number (NaN)
Converting Numbers to Strings
The global method String()
can convert numbers to strings.
It can be used on any type of numbers, literals, variables, or expressions:
Example
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
The Number method toString()
does the same.
Example
x.toString()
(123).toString()
(100 + 23).toString()
More Methods
Method | Description |
---|---|
toExponential() | Returns a string, with a number rounded and written using exponential notation. |
toFixed() | Returns a string, with a number rounded and written with a specified number of decimals. |
toPrecision() | Returns a string, with a number written with a specified length |
Converting Dates to Numbers
The global method Number()
can be used to convert dates to numbers.
d = new Date();
Number(d) // returns 1404568027739
The date method getTime()
does the same.
d = new Date();
d.getTime() // returns 1404568027739
Converting Dates to Strings
The global method String()
can convert dates to strings.
String(Date()) // returns “Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)”
The Date method toString()
does the same.
Example
Date().toString() // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
Method | Description |
---|---|
getDate() | Get the day as a number (1-31) |
getDay() | Get the weekday a number (0-6) |
getFullYear() | Get the four digit year (yyyy) |
getHours() | Get the hour (0-23) |
getMilliseconds() | Get the milliseconds (0-999) |
getMinutes() | Get the minutes (0-59) |
getMonth() | Get the month (0-11) |
getSeconds() | Get the seconds (0-59) |
getTime() | Get the time (milliseconds since January 1, 1970) |
Converting Booleans to Numbers
The global method Number()
can also convert booleans to numbers.
Number(false) // returns 0
Number(true) // returns 1
Converting Booleans to Strings
The global method String()
can convert booleans to strings.
String(false) // returns "false"
String(true) // returns "true"
The Boolean method toString()
does the same.
false.toString() // returns "false"
true.toString() // returns "true"
Automatic Type Conversion
When JavaScript tries to operate on a “wrong” data type, it will try to convert the value to a “right” type.
The result is not always what you expect:
5 + null // returns 5 because null is converted to 0
"5" + null // returns "5null" because null is converted to "null"
"5" + 2 // returns "52" because 2 is converted to "2"
"5" - 2 // returns 3 because "5" is converted to 5
"5" * "2" // returns 10 because "5" and "2" are converted to 5 and 2
Automatic String Conversion
JavaScript automatically calls the variable’s toString()
function when you try to “output” an object or a variable:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Numbers and booleans are also converted, but this is not very visible:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false
39 Responses
levaquin 500mg canada levaquin 250mg canada
purchase dutasteride generic celecoxib 100mg generic order ondansetron 4mg pills
buy spironolactone valtrex 500mg price buy fluconazole 200mg sale
ampicillin 500mg usa ampicillin 250mg without prescription buy erythromycin 250mg sale
oral sildenafil 100mg order robaxin 500mg methocarbamol oral
purchase suhagra pills sildalis online buy estradiol 1mg generic
tadalis 20mg oral tadalafil oral purchase diclofenac online
isotretinoin medication amoxil 250mg canada azithromycin 500mg us
indocin 75mg ca suprax 100mg tablet purchase amoxicillin pills
cialis overnight samples of cialis buy viagra 50mg without prescription
anastrozole 1mg for sale purchase biaxin generic viagra order
tadalafil pas cher pharmacie en ligne cialis 5mg sildenafil 200mg en france
deltasone sale generic cialis at walmart order viagra 50mg generic
tadalafil 10mg für männer viagra 50mg kaufen generika original viagra 50mg rezeptfrei sicher kaufen
buy accutane 40mg for sale stromectol 12mg drug ivermectin 6 mg oral
buy doxycycline 200mg online cheap buy levitra 10mg furosemide sale
buy generic altace 10mg irbesartan without prescription buy azelastine 10ml sprayer
catapres 0.1 mg pill clonidine 0.1 mg cheap tiotropium bromide uk
buspar 10mg cost oxybutynin generic buy generic oxybutynin 2.5mg
buy hytrin pills order leflunomide pill sulfasalazine cost
buy fosamax 70mg online buy pepcid 40mg sale buy famotidine 40mg
buy olmesartan without prescription order verapamil online diamox buy online
order prograf 5mg generic trandate for sale buy urso pills
isosorbide pills imuran 50mg pills micardis 20mg usa
order zyban 150 mg without prescription order strattera generic seroquel 100mg pills
buy molnupiravir generic buy generic cefdinir 300 mg brand prevacid 15mg
imuran brand cheap viagra generic sildenafil 50mg oral
order cialis 5mg online cheap brand viagra online without prescription cheap sildenafil pill
cost cialis purchase pyridium pill amantadine for sale
naltrexone over the counter abilify 20mg cost order abilify generic
order dapsone 100 mg generic order perindopril 4mg online perindopril 4mg us
provera 10mg canada periactin 4mg over the counter cyproheptadine 4mg cost
provigil 100mg generic order stromectol 6mg online cheap cost of ivermectin medicine
order isotretinoin 10mg pill order amoxil 250mg without prescription order deltasone 5mg
piracetam 800mg for sale nootropil 800 mg sale order viagra 100mg
zithromax canada order prednisolone 5mg generic gabapentin 600mg ca
tadalafil pill buy sildenafil 100mg pills viagra 50mg pill
cialis professional buy clomipramine pill anafranil usa
aralen usa buy chloroquine generic olumiant sale