Littéral (programmation)
En informatique, un littéral est une notation pour représenter une valeur fixe[1],[2]. Presque tous les langages de programmation ont des notations pour les valeurs atomiques telles que les entiers, les nombres à virgule flottante et les chaînes de caractères, et généralement pour les booléens et les caractères ; certains ont également des notations pour les éléments de types énumérés et les valeurs composées telles que les tableaux, les enregistrements et les objets. Une fonction anonyme est un littéral pour le type de fonction.
Pour les articles homonymes, voir Littéral.
Contrairement aux littéraux, les variables ou les constantes sont des symboles qui peuvent prendre l'une des classes de valeurs fixes, la constante étant contrainte de ne pas changer. Les littéraux sont souvent utilisés pour initialiser des variables. Par exemple, dans ce qui suit, 1 est un littéral entier et la chaîne de trois lettres dans "cat" est une chaîne littérale :
int a = 1;
string s = "cat";
Dans l'analyse lexicale, les littéraux d'un type donné sont généralement un type de jeton, avec une règle de grammaire, comme une chaîne de chiffres pour un littéral entier. Certains littéraux sont des mots clés spécifiques, comme true
pour le littéral booléen "vrai".
Dans certains langages orientés objet, les objets peuvent également être représentés par des littéraux. Les méthodes de cet objet peuvent être spécifiées dans le littéral objet à l'aide de littéraux de fonction. La notation d'accolade ci-dessous, qui est également utilisée pour les littéraux de tableau, est typique pour les littéraux d'objet :
{"cat", "dog"}
{name: "cat", length: 57}
Littéraux d'objets
Dans ECMAScript (ainsi que dans JavaScript ou ActionScript), un objet avec des méthodes peut être écrit en utilisant le littéral objet comme ceci:
var newobj = {
var1: true,
var2: "very interesting",
method1: function () {
alert(this.var1)
},
method2: function () {
alert(this.var2)
}
};
newobj.method1();
newobj.method2();
Ces littéraux d'objet sont similaires aux classes anonymes dans d'autres langages comme Java.
Le format d'échange de données JSON est basé sur un sous-ensemble de la syntaxe littérale de l'objet JavaScript, avec quelques restrictions supplémentaires (parmi lesquelles exigeant que toutes les clés soient citées, et interdisant les fonctions et tout le reste sauf les littéraux de données). Pour cette raison, presque tous les documents JSON valides (à l'exception de certaines subtilités avec échappement[Lesquelles ?]) sont également du code JavaScript valide, un fait exploité dans la technique JSONP.
Voir également
- Caractère littéral
- Fonction littérale
- Entier littéral
- Chaîne littérale
Références
- John Donovan, Systems programming, McGraw-Hill, (ISBN 978-0-07-017603-4, OCLC 298763, lire en ligne), p. 45
- « Literals », IBM Knowledge Center (consulté le )
- Portail de l’informatique