Counterbalance that with the (almost) equally annoying coworker who says "I don't know" as the immediate answer to any question! If there is any possibility of ambiguity or uncertainty, he will refuse to speculate or cite best practices.
I think your coworker would probably be more annoying, but only because I can ask an additional question of my coworker to dig into the response. I wish he would say something like, "I don't know, but [best practice/past experience]" without me having to then ask for the last part.
Or instead of saying "I don't know" they ramble on in order to drag the topic into a domain they do know, and then go on and on talking about that. It's incredibly infuriating.
When he doesn't know the answer to something he speculates and spouts off best practices.
It's extremely frustrating to work with him. I'm particularly emotional as I write this comment because he just did it again!