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, at any point in a program, an object with value semantics can only be uniquely-referenced.
The concepts that are used to explain this concept are extensionality, definiteness, substitutivity of identity, unfoldability, and referential transparency.
References