с точки зрения спецификации, это объясняется это тем, что инструкция return никаким боком не может войти в выражение присваивания
http://es5.javascript.ru/x11.html#x11.12
Цитата:
|
11.12 Условный оператор ( ? : ) # Ⓣ Ⓡ Ⓖ
Синтаксис
ConditionalExpression :
LogicalORExpression
LogicalORExpression ? AssignmentExpression : AssignmentExpression
|