to be continued!
When one of the following expansions was done (and only then!)
Bash will scan the results of these expansions for special characters (IFS) that mark word boundaries. This is only done on results that are not double-quoted!
The IFS variable holds the characters, Bash sees as word boundaries in this step. The default contains the characters
These characters are also assumed when IFS is unset. When IFS is empty (nullstring), no word splitting is performed at all.
The results of the expansions mentioned above are scanned for IFS-characters. If one or more (in a sequence) of them is found, the expansion result is split at this positions into multiple words.
This doesn't happen when the expansion results were double-quoted.
When a null-string (e.g. something before expanded to »nothing«) is found, it is removed, except it is quoted ('' or "").
Again note: Without any expansion before, Bash won't perform word splitting! In this case, the initial token parsing is alone responsibe.
Discussion