Referential Transparency

If a program may replace a function call with the result of that function call without changing the outcome of the program this is called Referential Transparency.

Mathematical functions are Referentially Transparent, and therefor Functional Programming deals in Referential Transparency.

Referential Transparency allows for compiler optimizations like Tree Shaking and prerendering.