DEV Community 👩‍💻👨‍💻

Cover image for JavaScript Struggles - Part 3 | String Auto Converting

JavaScript Struggles - Part 3 | String Auto Converting

One of the weirdest things that JS do is converting string variable to numbers by itself.

When does it convert string to number?

We have 4 operators that can turn the string to number when the string value is numbers:


Plus (+)

In JavaScript the plus operator have two cases.

1- When you use the + with a string that only have numbers it'll be converted automatically to number.

console.log('1'+'2'); // Outputs: 3
Enter fullscreen mode Exit fullscreen mode

2- When you use the + with a string that contains text, it'll not be converted to number; it'll be added to the text.

console.log("Hey"+"There"); // Outputs: HeyThere
Enter fullscreen mode Exit fullscreen mode

Minus (-)

Whenever we use - in our code the string automatically get converted to number.

E.g.

console.log('5' - 1); // Outputs: 4
console.log('5' - '2'); // Outputs: 3
Enter fullscreen mode Exit fullscreen mode

Multiply (*)

Whenever we use * in our code the string automatically get converted to number.

console.log('5' * 3); // Outputs: 15
console.log('5' * '2'); // Outputs: 10
Enter fullscreen mode Exit fullscreen mode

Divide (/)

Whenever we use / in our code the string automatically get converted to number.

console.log('6' / 2); // Outputs: 3
console.log('9' / '3'); // Outputs: 3
Enter fullscreen mode Exit fullscreen mode

Thanks for reading! 😁

Top comments (4)

Collapse
tourmaline profile image
Tourmaline

Thanks for the post! There are also the circumstances when the -, * and / operators are used with strings that are not numbers like -'string'; or 'string' * '5'; and they just evaluate to NaN.

Collapse
abdelrahman_dwedar profile image
‘Abdelraḥman Dwedar 👨🏻‍💻🇵🇸 Author

Glad you liked it! 😊

I'm happy you noticed that, actually I said earlier that if you converted a string that contains text it'll be NaN in the pervious part .

Have a nice day

Collapse
tourmaline profile image
Tourmaline

Thanks for the quick answer, I will check the rest of the parts of this series since it has interesting information.

Thread Thread
abdelrahman_dwedar profile image
‘Abdelraḥman Dwedar 👨🏻‍💻🇵🇸 Author

Thanks for reading, I hope you liked them. 👍

DEV runs on 100% open source code known as Forem.

 
Contribute to the codebase or host your own.
 
Check these out! 👇