I will mainly speak about the programming language Lua, because that's where this question comes from.
The empty string is a little bit problematic. If I have to output a truthy value in some cases, writing
os.write"" can be my best option to do the stuff, but it has no feedback to the user testing the program, not even a newline or a space.
You couldn't say if it outputted or not, unless you redirect its output to a truth machine.
On the other side, it technically outputs to stdin the representation of an object of type string, which always evaluates to true.
As commented by @MartinEnder, this is only a particular case of a bigger question: What's our stance on outputting to stdin/printing a truthy/falsy value when its string representation is an empty string.