The use of $ in PHP was a flat-out mistake, which was also made by the inventor of Perl. Variable prefixes are redundant in a full-fledged computer language because identifiers like foo and bar can be assumed to be variables without qualification — what else would an identifier be identifying? :-) The problem is that the amateurs who invented these languages were very familiar with the Unix shell, and they apparently did not realize that the $ that goes in front of shell variable references like $PATH is not a beautiful language feature, but an ugly necessity imposed by the fact that, in a shell script, words can appear normally “as themselves”, as when you say:
$ echo PATH
PATH
$ echo $PATH
/usr/local/bin:/usr/bin:/bin
In other words, an escape character like $ that says “this is a variable!” is necessary in a text substitution language like the shell, and escaping is also important in things like TCL and, of course, in modern templating languages, where you have to be able to tell apart all of the normal text that should be copied into the web page apart from the variable references and loops that pull in dynamic information.
But normal programming languages do not work by text substitution, so the $ in Perl and PHP is cruft and noise.
Since $ has no other use in JavaScript, it was a simple aesthetic judgement about whether to make it available as a “normal letter” for variables. JavaScript said “yes”, Python said “no”, and I have gotten used to both choices. I guess it now “looks like JavaScript” to me for $ to be valid!
But in no case should you let your aesthetic judgement here be informed by the horrible choices of Perl and PHP, which were wrong choices! Instead, ask yourself whether $ looks enough like a capital S that you can consider it to be “close enough to a letter”, or whether it looks forever like a symbol to you. That's the real choice.
$and_.