在开发过程中,我们有一个用例,像 "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中布尔值和字符串的转换。