Sunday, May 19, 2024
76
rated 0 times [  80] [ 4]  / answers: 1 / hits: 104875  / 9 Years ago, wed, july 1, 2015, 12:00:00

I have a variable. Let's call it toto.



This toto can be set to undefined, null, a string, or an object.



I would like to check if toto is set to a data, which means set to a string or an object, and neither undefined nor null, and set corresponding boolean value in another variable.



I thought of the syntax !!, that would look like this:



var tata = !!toto; // tata would be set to true or false, whatever toto is.


The first ! would be set to false if toto is undefined or null and true else, and the second one would invert it.



But it looks a little bit odd. So is there a clearer way to do this?



I already looked at this question, but I want to set a value in a variable, not just check it in an if statement.


More From » boolean-expression

 Answers
13

Yes, you can always use this:



var tata = Boolean(toto);


And here are some tests:



for (var value of [0, 1, -1, 0, 1, cat, true, false, undefined, null]) {
console.log(`Boolean(${typeof value} ${value}) is ${Boolean(value)}`);
}


Results:



Boolean(number 0) is false
Boolean(number 1) is true
Boolean(number -1) is true
Boolean(string 0) is true
Boolean(string 1) is true
Boolean(string cat) is true
Boolean(boolean true) is true
Boolean(boolean false) is false
Boolean(undefined undefined) is false
Boolean(object null) is false

[#65973] Monday, June 29, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
samir

Total Points: 145
Total Questions: 90
Total Answers: 89

Location: Tokelau
Member since Sun, May 7, 2023
1 Year ago
;