Value semantics

In computer science, having value semantics (also value-type semantics or copy-by-value semantics) means for an object that only its value counts, not its identity. Immutable objects have value semantics trivially, and in the presence of mutation, an object with value semantics can only be uniquely-referenced at any point in a program.

The concepts that are used to explain this concept are extensionality, definiteness, substitutivity of identity, unfoldability, and referential transparency.