413 votes

Quelqu'un peut-il expliquer le signe du dollar en Javascript ?

Le code en question est ici :

var $item = $(this).parent().parent().find('input');

A quoi sert le signe dollar dans le nom de la variable, pourquoi ne pas simplement l'exclure ?

3 votes

Duplicata possible de stackoverflow.com/questions/205853/

0 votes

La réponse de [ttony21][1] est erronée car il n'y a pas de types en Javascript, cf. la [documentation officielle][2][1] : stackoverflow.com/questions/846585/ [2] : ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

2 votes

Ce fil de discussion est assez ancien mais il semble que les principaux navigateurs aient normalisé les vairables globaux $, $$. Quel est le rôle de $ vs $$ ?

409voto

cobbal Points 37900

Un '$' dans une variable ne signifie rien de spécial pour l'interprète, tout comme un trait de soulignement.

D'après ce que j'ai vu, beaucoup de gens qui utilisent jQuery (ce à quoi ressemble votre code d'exemple) ont tendance à préfixer les variables contenant un objet jQuery par un $ afin de les identifier facilement et de ne pas les confondre avec, par exemple, des entiers.

La fonction du signe du dollar $() dans jQuery est une fonction de bibliothèque fréquemment utilisée, il est donc souhaitable de lui donner un nom court.

91 votes

Remarque : par défaut, jQuery utilise "$" comme raccourci de "jQuery". Cela a quelques effets sur l'utilisation d'autres bibliothèques Javascript. Voir docs.jquery.com/Utilisation_de_jQuery_avec_d'autres_bibliothèques

17 votes

En d'autres termes, $ est comparable à tout symbole acceptable dans les noms de variables/fonctions. Faire var $=function(){} c'est la même chose que de faire var a=function(){} .

24 votes

Thimmayya votre commentaire "Par défaut, jQuery utilise "$" comme raccourci pour "jQuery"" devrait être en caractères gras en haut de chaque page du site web de Jquery, Leurs exemples sont horriblement documentés.

38voto

AlbertoPL Points 8644

Le signe $ est un identifiant pour les variables et les fonctions.

https://web.archive.org/web/20160529121559/http://www.authenticsociety.com/blog/javascript_dollarsign

Cela explique clairement à quoi sert le signe du dollar.

Voici une explication alternative : http://www.vcarrer.com/2010/10/about-dollar-sign-in-javascript.html

2 votes

Javascript a des types ; et de toute façon, comment le signe du dollar est-il lié à cela ? C'est juste un caractère qui se trouve être un identifiant légal en Javascript.

11 votes

Je ne suis pas sûr que j'appellerais ce lien une explication "claire". Faut-il vraiment plus de 6 paragraphes pour expliquer que $ est simplement un caractère valide pour définir les noms de fonctions et de variables ?

1 votes

On dirait que le premier lien fonctionne à nouveau. Je dois être d'accord avec @Slight que l'explication alternative est terrible.

34voto

thomasrutter Points 42905

Le signe dollar est traité comme une lettre normale ou un trait de soulignement ( _ ). Il n'a pas de signification particulière pour l'interprète.

Contrairement à de nombreux langages similaires, identifiants (tels que les noms de fonction et de variable) en Javascript peuvent contenir non seulement des lettres, des chiffres et des caractères de soulignement, mais aussi peut également contenir des signes de dollar . Ils sont même autorisés à commencer par un signe de dollar, ou à consister. uniquement d'un signe de dollar et rien d'autre.

Ainsi, $ est une fonction ou un nom de variable valide en Javascript.

Pourquoi voulez-vous un signe de dollar dans un identifiant ?

La syntaxe n'impose pas vraiment une utilisation particulière du signe dollar dans un identifiant, c'est donc à vous de voir comment vous souhaitez l'utiliser. Dans le passé, il a souvent été recommandé de commencer un identifiant par un signe dollar uniquement dans les cas suivants code généré - c'est-à-dire un code créé non pas à la main mais par un générateur de code.

Dans votre exemple, cependant, cela ne semble pas être le cas. On dirait que quelqu'un a simplement mis un signe dollar au début pour s'amuser - peut-être était-ce un programmeur PHP qui l'a fait par habitude, ou quelque chose comme ça. En PHP, tous les noms de variables doivent être précédés d'un signe dollar.

Il existe aujourd'hui une autre signification courante du signe dollar dans un interpréteur : l'objet jQuery, dont le nom est uniquement consiste en un seul signe de dollar ( $ ). Il s'agit d'une convention empruntée à des frameworks Javascript antérieurs comme Prototype, et si jQuery est utilisé avec d'autres frameworks de ce type, il y aura un conflit de noms car ils utiliseront tous deux le nom $ (jQuery peut être configuré pour utiliser un nom différent pour son objet global). Il n'y a rien de spécial en Javascript qui permette à jQuery d'utiliser le signe dollar unique comme nom d'objet ; comme mentionné ci-dessus, il s'agit simplement d'un autre nom d'identifiant valide.

0 votes

Vous pouvez noconfirmer l'objet jQuery avec ceci var $j = jQuery.noConflict(); maintenant $j est l'objet jQuery.

5voto

Sasha Chedygov Points 36783

Il n'y a pas de signification technique. Ils l'ont probablement fait pour ne pas écraser une variable 'item' existante, puisque c'est un nom assez générique. Il se peut aussi que le codeur ait une sorte de convention de dénomination selon laquelle, par exemple, toutes les variables commençant par un $ sont des éléments DOM.

4voto

Claudiu Points 58398

Sans raison. Peut-être que la personne qui l'a codé venait de PHP. Cela a le même effet que si vous l'aviez nommé "_item" ou "item" ou "item$$".

En tant que suffixe (comme "item$", prononcé "items"), il peut signifier une observable telle qu'un élément DOM comme une convention appelée "Notation finlandaise" similaire à la notation hongroise.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X