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:

Answer

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

Answer

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.

Answer

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.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.