I understand that an empty string is falsy in javascript and a not-empty string is truthy in javascript.
However, why is \'false\' truthy in javascript,
\'false\'
is there anything explicit in the specification?
Yes:
The result is false if the argument is the empty String (its length is zero); otherwise the result is true.