Literal (computer programming)

In computer science, a literal is a textual representation (notation) of a value as it is written in source code.[1][2] Almost all programming languages have notations for atomic values such as integers, floating-point numbers, and strings, and usually for Booleans and characters; some also have notations for elements of enumerated types and compound values such as arrays, records, and objects. An anonymous function is a literal for the function type.

In contrast to literals, variables or constants are symbols that can take on one of a class of fixed values, the constant being constrained not to change. Literals are often used to initialize variables; for example, in the following, 1 is an integer literal and the three letter string in "cat" is a string literal:

int a = 1;
string s = "cat";

In lexical analysis, literals of a given type are generally a token type, with a grammar rule, like "a string of digits" for an integer literal. Some literals are specific keywords, like true for the Boolean literal "true".

In some object-oriented languages (like ECMAScript), objects can also be represented by literals. Methods of this object can be specified in the object literal using function literals. The brace notation below, which is also used for array literals, is typical for object literals:

{"cat", "dog"}
{name: "cat", length: 57}
  1. ^ Donovan, John (1972). Systems programming. McGraw-Hill. p. 45. ISBN 978-0-07-017603-4. OCLC 298763.
  2. ^ "Literals". IBM Knowledge Center. 18 June 2009. Retrieved 13 May 2020.