EN
TypeScript - convert string to boolean
0 points
In TypeScript it is possible to parse string to boolean in following ways.
xxxxxxxxxx
1
const text: string = 'true';
2
const value: boolean = text == 'true';
3
4
console.log(value); // true
xxxxxxxxxx
1
function parseBoolean(text: string): boolean {
2
const value = JSON.parse(text);
3
4
if (typeof value != 'boolean') throw new Error('Incorrect type!');
5
6
return value;
7
}
8
9
const text: string = 'true';
10
const value: boolean = parseBoolean(text);
11
12
console.log(value); // true
xxxxxxxxxx
1
const truthExpression = /^(TRUE|True|true|YES|Yes|yes|ON|On|on|1|T|t|Y|y)$/g;
2
const falsyExpression = /^(FALSE|False|false|NO|No|no|OFF|Off|off|0|F|f|N|n)$/g;
3
4
function parseBoolean(text: string): boolean {
5
if (truthExpression.test(text)) return true;
6
7
if (falsyExpression.test(text)) return false;
8
9
throw new Error('Incorrect value!');
10
}
11
12
const text: string = 'true';
13
const value: boolean = parseBoolean(text);
14
15
console.log(value); // true
xxxxxxxxxx
1
function parseBoolean(value: string | number | boolean): boolean {
2
switch (value) {
3
case 1:
4
case true:
5
case '1':
6
case 'true':
7
case 'True':
8
case 'TRUE':
9
case 'on':
10
case 'On':
11
case 'ON':
12
case 'yes':
13
case 'Yes':
14
case 'YES':
15
case 't':
16
case 'T':
17
case 'y':
18
case 'Y':
19
return true;
20
21
case 0:
22
case false:
23
case '0':
24
case 'false':
25
case 'False':
26
case 'FALSE':
27
case 'off':
28
case 'Off':
29
case 'OFF':
30
case 'no':
31
case 'No':
32
case 'NO':
33
case 'f':
34
case 'F':
35
case 'n':
36
case 'N':
37
return false;
38
39
default:
40
throw new Error('Incorrect value!');
41
}
42
}
43
44
const text: string = 'true';
45
const value: boolean = parseBoolean(text);
46
47
console.log(value); // true