tl;dr
You always want them to go first, but you can't not answer a direct question. You need a placeholder that sort of answers the question without giving away the answer.
I've been on both sides of the fence, hiring and being hired, multiple times.
For the record, I hate that we have to do this at all. Companies should automatically know what we are intrinsically worth and just pay us that without playing any games. But that isn't the reality we have to work with.
There are a couple of things in play here.
First is that on initially getting hired, you have more leverage than you will for a long time. This is the time to ask for a higher salary.
Once, I agreed to a lower starting salary than I wanted with the agreement that I would get a 10% raise after 6 months if I proved myself. I got the raise, but only after HR had a huge fit about it. In the end, they only gave in because I the manager had already promised it. I could never have gotten 10% if I had waited 6 months to ask.
Second, the salary they offer you is based on a mix of what they think you are worth to them, what they think you will take, and what competition you have. And the supply and demand factor plays a much larger role than your intrinsic value.
As a hiring manager, after a series of interviews, I generally have a list of candidates that I've attached values to.
"I would offer the first guy 64K-66K but he is asking 70K.
The second guy is probably around 60K, and he is only asking 55K.
Third guy, I would go as high as 75K, but he is asking 90K."
So knowing the salary range for the position doesn't tell you as much as you would expect.
What you need to know is what is the range they are thinking of offering you.
As an employer, I always want the candidate to give their desired salary first.
As a candidate, I always want the employer to give their anticipated range first.
In the above scenario, assuming they were all viable candidates that could accomplish what I needed from the position, I'd hire the second guy, offer him 58K, and we both come away feeling good about it. He could probably have gotten 60K if he'd asked for it, but not 62K. If he had asked for 62K, I'd go to the first guy and ask if he'd take 68K with a 2K signing bonus.
It's not that I, as the manager, am mean or stingy. It is that I have a tight budget and any money I spend one place, I can't spend elsewhere. I already can't give as much in raises as I want. Any I save here increases how much of a raise I can give someone else or buys some software we've been needing.
Lastly, the third guy may well be worth 90K, but he may not be worth that to me in this position. Conversely, he may have taken it for 75K but I probably won't ask him to. I would rather that he find a position where he can make 90K. If he is only worth 75K to me, then this position isn't going to use all his potential and he's probably not going to be challenged.
As a counter example, I once applied for to a company where some of my friends worked but a slightly different position. I didn't use the trick here and couldn't get them to go first. They finally convinced me to tell what I was looking for. I asked for what I thought would be a stretch, as I knew it was $20K more than my any of my friends were getting.
I could tell by their faces that I had way undershot. I compensated by asking for lots of vacation, etc, and we ended a little higher than I initially asked, but I'm sure I left a lot of money on the table.
Conclusion, you always want them to go first.
With that foundation, we can now return to the original question.
We can't not answer the question, but we don't want to answer first. So we need a placeholder answer that doesn't give them all the information they want.
One approach, as a candidate, is to go with the future theoretical.
"Well, eventually I'd like to be making X, but I'm not there yet. This position looks like it should provide exactly the experience I need to be more valuable."
This lets the hiring manager stretch to reach your goal, but doesn't cut you out of the loop if he can't.