I usually give a range but make sure that my asking price is at the low end of the range. Anything above what it would take to get me to move is gravy.
Use comps and your skill set to justify your range. “I’ve seen salaries ranging from xxxx-xxxx in the market. With my skill set of x, y, z I’m looking for something on the upper end of that range.” Make sure the low end of the range you give is something you’d actually accept.
If they aren’t willing to pay what I need then there is no sense in wasting anyone’s time.