What is the $ symbol used for in JavaScript

I am a JavaScript learner and have been researching this matter, but with no success. What is the $ symbol used for in JavaScript besides regular expressions? Any resources or readings regarding this would be appreciated. Thanks.

Answers


It doesn't mean anything special.

But because $ is allowed in identifier names, many Javascript libraries have taken to using $ as the "central" interface to them, or at least as a shortcut for accessing their functionality.

For example, if you're using jQuery and you say $("div"), this is a call to the $ function with argument "div". When you say $.post(), it's calling the post method on the $ object (Javascript is nice in that functions are first-class objects).


I became acquainted with it in JavaScript when I started using the Prototype framework. In Prototype, $ is simply the name of an often used function (very, very much simplified - a short for document.getElementById). Personally, I like the terseness of it.

Afaik, it's not used for anything by the language itself.

For what it's worth, Douglas Crockford advises against using $ in the variable/function names you write:

Do not use $ (dollar sign) or \ (backslash) in names.


Adding another, rather opinionated, quote from Mr. Crockford's talk "And Then There Was JavaScript":

Dollar sign was added to the language specifically for use by code generators and macro processes, so if you have machines writing code then the machines need to be confident that the variables that they create will not conflict with variables that the humans are going to create. To distinguish them, we’ll allow the machines to use dollar sign. Some of the ninjas found out about that and thought oh, dollar sign, I can use dollar sign as a function name, so they’re out there doing that. And it looks stupid. I mean, look at a program with dollar sign.


If you are asking why some variables and function names start with $, then that is simply a convention when using jQuery and/or AngularJS.

In code that uses jQuery, $ is often used as a prefix for variables that contain jQuery selections. e.g. var $container = $('.container');.

In AngularJS, they use the $ prefix to mean "core Angular functionality". That way, you know which methods and services are added by the framework, and which are custom to your application.


Need Your Help

Negative margin, z-index and click blocking

html css z-index

I'm using negative margins to layout two columns:

force browser to add horizontal scroll bar?

css image html

Just wondering if there's some way to force the browser to bring up the horizontal scroll bar. My problem is that I have some images in a div and they "overflow" out of it when I make the window sm...