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\'
It's by definition. It's a string and it is handled as such. No matter the meaning of the string.
If your logic would be applied. Then how about following examples:
"1+3==2" "humans have four eyes"
Are they also falsy?