Just write:
<#if (pageData.author.name)?has_content>
The ${...}
construct is only used where FreeMarker otherwise doesn't expect an expression. FreeMaker directive parameters are already expressions. It's just like in <#if x * y == z>
you have an expression.