It's a hit and miss. In might work in this situation but imagine having a 200 line Ampscript block and trying to debug it? You don't want to complicate things by having to check for this too.
Best practice is to declare them.
UPDATE:
As Gortington pointed out, defining a variable helps with handling empty or null values, reducing syntax errors