Re:Deep-copying in JavaScript
by zzzcpan on Thursday January 25, 2018 @03:57PM
(#16234594)
It's mostly about explicit vs. implicit. If a reference is implicit - it's pass-by-reference.
[ Parent
| on HN ]
Not according to the comment that I am replying to:
> A reference is basically a pointer that the language prevents you from doing pointer arithmetic on, and in many languages such as PHP, is simply automatically dereferenced for you.
Also, the implicit is usually pass-by-value.
function foo(a) { a++; }
function bar(ref a) { a++; }
b = 1;
foo(b); // Pass by value, implicit.
assert(b == 1);
bar(ref b); // Pass by reference.
assert(b == 2);
Heap vs. stack values are not the same thing as pass-by-reference and pass-by-value.