Truthy values in JavaScript

Truthy values are the ones that are not falsy. There are some values that look falsy, but if you look closer, you notice that they are truthy!

Boolean(new Boolean(false)); // true, it's an object.
Boolean('false'); // true, it's a non-empty string.
Boolean({}); // true, it's an object.
Boolean([]); // true, it's an object.
Boolean(-1); // true, it's not 0.

Questions

What's the output?

Boolean(new Boolean(false));

What's the output?

Boolean('false');

What's the output?

Boolean({});

What's the output?

Boolean([]);

What's the output?

Boolean(-1);