Hacker News new | past | comments | ask | show | jobs | submit login

No, thats not correct. Value and reference assignment behave the same way for = (well, reference is hiding the fact that it’s not the literal string/object but a reference to it, a number is just the number).

Where it matters is in passing arguments to a function call. If you pass 42, it’s not mutable so incrementing, or doing anything, will not modify the original variable you passed-in. For a reference, using = will assign a new value (not change the original) but modifying the referenced object like, say a.b = 5 WILL change the original object.

It’s not really “pass by reference” that a C/C++ developer would understand but it seems to be the term that has stuck.




>= (well, reference is hiding the fact that it’s not the literal string/object but a reference to it, a number is just the number).

>For a reference, using = will assign a new value (not change the original)

what I wrote was regarding only strings, so I'm not understanding - it seems you are saying the same thing I said? But maybe I'm wrong about how the actual strings are stored.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: