如何在typescript中把字符串转换成布尔值/从布尔值转换成字符串?

1,980 阅读2分钟

在开发过程中,我们有一个用例,像 "true "和 "false "这样的字符串需要转换为布尔值,或者在前端我们想执行条件--如果转换布尔值/字符串来显示一些结果。

在typescript/javascript中,字符串是一个字符串,而布尔值是一个对象,两者的作用不同,其值也不同。

在这篇文章中,发表了在typescript中把字符串转换为布尔值或布尔值的不同方法。

我们需要将字符串格式化的值转换为布尔值。

如何在typescript中把字符串转换为布尔值?

我列出了不同的方法和例子

使用字符串相等的例子

假设字符串对象持有 "真 "或 "假",我们将使用字符串平等检查将其转换为布尔值。

let inputTrueString = "true";  
let inputFalseString = "true";  
let inputNotBooleanString = "asdfasdfasd";  
let truthValue= (inputTrueString === 'true');   
let falseValue = (inputFalseString === 'false');  
let notBooleanValue=(inputNotBooleanString === 'false');  
console.log(truthValue)// outputs true  
console.log(falseValue) // outputs false  
console.log(notBooleanValue) // outputs false  

这种方法的唯一缺点是对'false'和'asdfasdfasd'字符串值返回false。这里的false意味着我们无法识别false是布尔值还是字符串值,这在条件逻辑验证中有助于检查字符串到布尔值的转换。

使用正则表达式的例子

使用正则表达式模式和测试方法,我们可以将其转换为布尔值 test()方法用于测试字符串中的模式是否匹配,如果匹配则返回真,否则返回假

(/true/i).test('true') //outputs true  
(/true/i).test('false') //outputs false  
(/true/i).test('asdfasdfads') //outputs false  

JSON解析方法的例子

这是另外一种将布尔字符串值转换为字符串格式的方法。JSON对象的parse方法接受字符串,如果值为'true'则返回true,如果值为'false'则返回false,如果值为布尔值以外的字符串则抛出一个异常。

console.log(stringToBoolean('true')) // undefined  
console.log(stringToBoolean('false')) // outpus undefined  
console.log(stringToBoolean('asdfasdfasd')) //outputs undefined  
function stringToBoolean(stringValue: string): boolean | undefined {  
    try {  
        return JSON.parse(stringValue);  
    }  
    catch (e) {  
        return undefined;  
    }  
}  

如何在typescript/javascript中把布尔值转换为字符串?使用toString()方法的例子 typescript/javascript中的任何对象都有toString()方法,它从对象中延伸出来,返回字符串版本。

let booleanTrueVariable: boolean = true;  
let booleanFalseVariable: boolean = false;  
let stringTrue: string = booleanTrueVariable.toString();  
let stringFalse: string = booleanFalseVariable.toString();  
console.log(stringTrue) // outputs true  
console.log(typeof stringTrue) // outputs string  
console.log(stringFalse) // outputs false  
console.log(typeof stringFalse) // outputs string  

使用三元操作符的例子

这是一个转换为布尔字符串的简单方法。三元运算符需要三个参数,第一个条件如果为真,返回第二个参数,如果为假,则返回第三个参数,下面是一个例子

  
let booleanTrueVariable: boolean = true;  
let booleanFalseVariable: boolean = false;  
let stringValue = booleanTrueVariable? "true":"false";  
let stringTrue: string =booleanTrueVariable? "true":"false";  
let stringFalse: string = booleanFalseVariable? "true":"false";  
console.log(stringTrue) // outputs true  
console.log(typeof stringTrue) // outputs string  
console.log(stringFalse) // outputs false  
console.log(typeof stringFalse) // outputs string  

以上就是关于javascript中布尔值和字符串的转换。