In this post I will write about some tips on JavaScript Conversion from type to values etc.
Tip 1: Boolean values
In JavaScript one can use the double not (!!) to convert a variable to a Boolean. What the !! operator (poor man casting) does is, it first cast the data to a true Boolean and then it flips it, and the second operator flips it back to the correct Boolean value.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var myBool = !!"false"; // true var testNull = !!null; // false myBool = !!1; //true myBool = !!0; //false myBool = !!""; //false myBool = !!window.helloWorld; //false //another example to clarify var x = "abcd" var isNotEmpty = !!x.length; x.length // 4 !x.length // false !!x.length // true |
Tip 2: Convert to Number
In JavaScript one can use the + to convert a string to a number. I mean the plus can be obscure, one can also >> shift operator and also use parseInt but remember parseInt may give you different results than + like the example below. Also here is some jsperf on int casting.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var myNumber = +"123456"; //now 123456 //there is also parseInt var pi = parseInt("3.14") // returns 3 by default it uses the 10 radix same as parseInt("3.14, 10); var pi_dec = +"3.14" // returns 3.14 var str = '100'; var str_int = str >> 0; // now str_int is 100 var result = Number("12345"); //rather slow var bitwise = ~~'123'; //fastest way to convert |
Tip 3: Convert to String
This is the inverse of the + you saw above, you can covert a value into a string by concat with empty string “”. If you wish to know which one is the fastest way to cast as string one can check out this jsperf
1 2 3 4 5 |
var myStr = 123 + ""; //becomes a string "123" var myStr2 = String(null); //becomes "null" var myStr3 = null + ""; //becomes "null" also null.toString(); //throws an error |
Leave A Comment