TypeScript: Convert a bool to string value
Solution 1:
This is either a bug in TypeScript or a concious design decision, but you can work around it using:
var myBool: bool = true;
var myString: string = String(myBool);
alert(myString);
In JavaScript booleans override the toString
method, which is available on any Object
(pretty much everything in JavaScript inherits from Object
), so...
var myString: string = myBool.toString();
... should probably be valid.
There is also another work around for this, but I personally find it a bit nasty:
var myBool: bool = true;
var myString: string = <string><any> myBool;
alert(myString);
Solution 2:
For those looking for an alternative, another way to go about this is to use a template literal like the following:
const booleanVal = true;
const stringBoolean = `${booleanVal}`;
The real strength in this comes if you don't know for sure that you are getting a boolean value. Although in this question we know it is a boolean, thats not always the case, even in TypeScript(if not fully taken advantage of).
Solution 3:
One approach is to use the Ternary operator:
myString = myBool? "true":"false";
Solution 4:
This if you have to handle null values too:
stringVar = boolVar===null? "null" : (boolVar?"true":"false");