What is the $ symbol used for in JavaScript

JavascriptJquery

Javascript Problem Overview


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.

Javascript Solutions


Solution 1 - Javascript

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).

Solution 2 - Javascript

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.

Solution 3 - Javascript

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBabikerView Question on Stackoverflow
Solution 1 - JavascriptDean HardingView Answer on Stackoverflow
Solution 2 - JavascriptLauri LehtinenView Answer on Stackoverflow
Solution 3 - JavascriptGregLView Answer on Stackoverflow