Javascript is always pass by value, but when a variable refers to an object (including arrays), the "value" is a reference to the object.
Changing the value of a variable never changes the underlying primitive or object, it just points the variable to a new primitive or object.
However, changing a property of an object referenced by a variable does change the underlying object.
Explain what is Pure Functions and why you should use this approach.
Add a tip related with the difference between parameter vs argument.
Explain how refence/value arguments pass works in JS: