The Free On-line Dictionary of Computing (30 December 2018):
(Or "data type") A set of values from
which a variable, constant, function, or other
expression may take its value. A type is a classification
of data that tells the compiler or interpreter how the
programmer intends to use it. For example, the process and
result of adding two variables differs greatly according to
whether they are integers, floating point numbers, or strings.
Types supported by most programming languages include
integers (usually limited to some range so they will fit in
one word of storage), Booleans, floating point numbers,
and characters. Strings are also common, and are
represented as lists of characters in some languages.
If s and t are types, then so is s -> t, the type of
functions from s to t; that is, give them a term of type s,
functions of type s -> t will return a term of type t.
Some types are primitive - built-in to the language, with no
visible internal structure - e.g. Boolean; others are
composite - constructed from one or more other types (of
either kind) - e.g. lists, arrays, structures, unions.
Object-oriented programming extends this with classes
which encapsulate both the structure of a type and the
operations that can be performed on it.
Some languages provide strong typing, others allow implicit
type conversion and/or explicit type conversion.