What are the pros and cons of using boolean type versus string type "true"/"false"?

StackOverflow https://stackoverflow.com/questions/23404028

  •  13-07-2023
  •  | 
  •  

Вопрос

In Javascript, I have seen code using string type to represent "true" and "false". Why not simply use boolean type?

What are the pros and cons of using boolean type versus string type "true"/"false" in Javascript? Or is it simply bad practice to use string type to represent boolean values?

Это было полезно?

Решение

String "true" and "false" are considered to be truthy. So, never use them instead of boolean values.

console.log(Boolean("true"));
# true
console.log(Boolean("false"));
# true

also,

console.log(true  != "true");
# true
console.log(false != "false");
# true

Другие советы

You should always be using booleans.
Using the string "false" as a boolean will still be truthy, since it's not an empty string.

Boolean("true")
>> true

Boolean("false")
>> true

Boolean("")
>> false

You should use Boolean where possible- among other reasons the compare of a Boolean is much faster to execute than a string compare.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top