TypeScript:将bool转换为字符串值

时间:2013-02-08 14:37:53

标签: casting type-conversion typescript

我有一个非常简单的问题,我无法在TypeScript中将简单的布尔值转换为字符串值

我一直在漫游文档,我找不到任何有用的东西,当然我尝试使用toString()方法,但它似乎没有在bool上实现。


编辑:我几乎没有JavaScript知识,并且使用C#/ Java背景来到TypeScript。

4 个答案:

答案 0 :(得分:69)

这可能是TypeScript中的错误或者是一个有意识的设计决定,但您可以使用以下方法解决它:

var myBool: bool = true;
var myString: string = String(myBool);
alert(myString);

在JavaScript布尔值中覆盖toString方法,该方法适用于任何Object(JavaScript中几乎所有内容都来自Object),所以......

var myString: string = myBool.toString();

......应该是有效的。

还有另外一项工作,但我个人觉得有点讨厌:

var myBool: bool = true;
var myString: string = <string><any> myBool;
alert(myString);

答案 1 :(得分:4)

一种方法是使用三元运算符:

myString = myBool? "true":"false";

答案 2 :(得分:3)

对于那些寻求替代方法的人,解决此问题的另一种方法是使用template literal,如下所示:

const booleanVal = true;
const stringBoolean = `${booleanVal}`;

如果您不确定是否要获取布尔值,那么真正的优势就在于此。尽管在这个问题中我们知道这是一个布尔值,但即使在TypeScript中(即使没有充分利用),也并非总是如此。

答案 3 :(得分:0)

如果您也必须处理空值,则此操作:

stringVar = boolVar===null? "null" : (boolVar?"true":"false");