我无法在TypeScript中将布尔值转换为字符串值。我一直在浏览文档,找不到任何有帮助的东西。我试过使用toString()方法,但它似乎没有在bool上实现。编辑:我几乎没有JavaScript知识,是带着C#/Java背景来到TypeScript的。
toString()
rseugnpd1#
这可能是TypeScript中的一个错误,也可能是一个明智的设计决策,但您可以使用以下方法解决此问题:
var myBool: bool = true; var myString: string = String(myBool); alert(myString);
在JavaScript中,布尔值覆盖toString方法,该方法在任何Object上都可用(JavaScript中几乎所有内容都继承自Object),因此...
toString
Object
var myString: string = myBool.toString();
......应该是有效的。还有另外一种方法可以解决这个问题,但我个人觉得它有点令人讨厌:
var myBool: bool = true; var myString: string = <string><any> myBool; alert(myString);
zf2sa74q2#
对于那些寻找替代方案的用户,另一种方法是使用template literal,如下所示:
const booleanVal = true; const stringBoolean = `${booleanVal}`;
如果你不确定你得到的是一个布尔值,那么这个问题的真实的优点就来了。虽然在这个问题中我们知道它是一个布尔值,但并不总是这样,即使在TypeScript中(如果没有充分利用的话)。
yduiuuwa3#
一种方法是使用三元运算符:
myString = myBool? "true":"false";
toiithl64#
如果您还必须处理空值,则会出现以下情况:
stringVar = boolVar===null? "null" : (boolVar?"true":"false");
kuhbmx9i5#
return Boolean(b) ? 'true':'false'
5条答案
按热度按时间rseugnpd1#
这可能是TypeScript中的一个错误,也可能是一个明智的设计决策,但您可以使用以下方法解决此问题:
在JavaScript中,布尔值覆盖
toString
方法,该方法在任何Object
上都可用(JavaScript中几乎所有内容都继承自Object
),因此.........应该是有效的。
还有另外一种方法可以解决这个问题,但我个人觉得它有点令人讨厌:
zf2sa74q2#
对于那些寻找替代方案的用户,另一种方法是使用template literal,如下所示:
如果你不确定你得到的是一个布尔值,那么这个问题的真实的优点就来了。虽然在这个问题中我们知道它是一个布尔值,但并不总是这样,即使在TypeScript中(如果没有充分利用的话)。
yduiuuwa3#
一种方法是使用三元运算符:
toiithl64#
如果您还必须处理空值,则会出现以下情况:
kuhbmx9i5#