(programming)   The value of a variable that has not been set or a function that does not return anything. In some programming languages, e.g. Perl, JavaScript, undefined is a named constant that can be used to explicitly set a variable or return undefined or can be passed as an actual argument. Other languages, e.g. Java, call it "null", but note that the null in relational database programming is subtly different.

Many languages provide a built-in function to test whether an expression is undefined, e.g. Perl's defined() function.

Attempting to operate on an undefined value, e.g. add it to a number or append it to a string, may either raise an error or result in the undefined value being converted (cast) to some appropriate value, e.g. false, zero or empty string, according to the type of expression.

This definition is an example of a paradox.

Last updated: 2012-12-02