If I declare a JavaScript boolean variable like this:
var IsLoggedIn;
And then initialize it with either true or 1
No it is not safe. You could later do var IsLoggedIn = "Foo"; and JavaScript will not throw an error.
It is possible to do
var IsLoggedIn = new Boolean(false);
var IsLoggedIn = new Boolean(true);
You can also pass the non boolean variable into the new Boolean() and it will make IsLoggedIn boolean.
var IsLoggedIn = new Boolean(0); // false
var IsLoggedIn = new Boolean(NaN); // false
var IsLoggedIn = new Boolean("Foo"); // true
var IsLoggedIn = new Boolean(1); // true