Type
A type is a set of values supporting a certain set of operations.
Closest Wikipedia entry: Type system — In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every term (a word, phrase, or other set of symbols). Usually the terms are various language constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term.
Misconceptions about Type38 documented Misconceptions
Check YourselfArrayElementTypeRepeats — Java
The type of a multi-dimensional array is written as T[] T[] T[]ArrayElementsUntyped — Java
Elements of arrays are untypedArrayLengthPartOfType — Java
The length of an array is part of its typeArrayRankNotPartOfType — Java
The rank of an array is not part of its typeCharNotNumeric — Java
Char is not a numeric typeCharType — JavaScript
A single character is of type charClassDefinesType — JavaScript
The type of an object is equivalent to the type defined by its class definitionCompositeExpressionsUntyped — Java
Expressions that consist of multiple parts have no typeEqualityOperatorComparesOnlyTypes — JavaScript
The equality operator '==' compares only the types of the operandsEqualityOperatorComparesOnlyTypes — Scratch
() = () compares only the types of its operandsExpressionsDynamicallyTyped — Java
One has to evaluate an expression to determine its typeIntegerDivisionToRational — Java
Dividing two integers can produce a rational numberLargeIntegerLong — Java
Large integer numbers have type longListsHomogeneous — Scratch
All items in a list must have the same typeMethodWithoutReturnType — Java
A method declaration does not need to include a return typeNamedTypeParameter — Java
To instantiate a generic type, one needs to specify type parameter names as well as types NoCastIfSameSize — Java
If a variable is at least as big (bit-width) as a value, then no cast is needed to a assign the value to the variableNoFloatLiterals — Java
There are no float literalsNoImplicitWidening — Java
Smaller types are never automatically converted into bigger ones without an explicit castNoLongLiterals — Java
There are no long literalsNullAndUndefinedAreTheSame — JavaScript
The values null and undefined are the sameNumericToBooleanCoercion — Java
Numeric types can be coerced to booleanPrimitiveTypeParameter — Java
Type parameters of generic types can be assigned primitive typesPrimitiveVariablesDynamicallyTyped — Java
The type of a primitive variable depends on its valueRecursiveMethodImpliesRecursiveType — Java
A class with a recursive method represents part of a recursive data structureReferenceLabeledWithDynamicType — Java
In stack and heap diagrams, reference variables are labeled with the types of the objects they refer toReferenceToBooleanCoercion — Java
Every reference type can be coerced to booleanReferenceToIntegerConversion — Java
One can cast between references and intsStaticCallPolymorphic — Java
A static method call is dispatched polymorphically at runtime based on the argument typesSubtypeCompatibleWithSupertype — Java
A variable of a subtype can reference an object of a supertypeSupertypeIncompatibleWithSubtype — Java
A variable of a supertype cannot reference an object of a subtypeTargetTyping — Java
The type of a numerical expression depends on the type expected by the surrounding contextTypeofArrayIsArray — JavaScript
The typeof operator applied on an array returns 'array'TypeofNullIsNull — JavaScript
The value null is of type 'null'UntypedVariables — Java
Variable declarations don't need a typeUseOfSelfTypeImpliesRecursiveType — Java
If a class has a method that has a local variable, parameter, or return value with the class as its type, the class is a recursive typeVoidMethodNotRecursive — Java
A method with void return type can't be recursiveVoidMethodReturnsValue — Java
A method with void return type can return a value