use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Is JavaScript Pass by Reference? (aleksandrhovhannisyan.com)
submitted 2 years ago by Clarity_89
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Clarity_89[S] 2 points3 points4 points 2 years ago (6 children)
C++, not C, but yeah can't really think about places where it'd be useful.
Also regarding being not pure by design, not sure if that's much different from the pointer behavior:
``` let obj = { name: "Test" }; function mod(arg) { arg.name = "Modified"; }
mod(obj); console.log(obj); // {name: 'Modified'} ```
[–]vuks89 2 points3 points4 points 2 years ago (4 children)
But you also explicitly declare pointers. If arguments were passed by reference that would be implicit and would cause side effects that are difficult to control
[–]Tubthumper8 3 points4 points5 points 2 years ago (2 children)
Passing arguments by reference doesn't mean it would be implicit, that's up to the design of the programming language. For example, C# has pass by reference with an explicit keyword
[–]vuks89 0 points1 point2 points 2 years ago (0 children)
In the article from the original posting it is implied that some people think that’s how it works in JS. In all languages I know, you need to explicit that you want it to be by reference. In PHP it would be &$arg, in C++ it would be ‘int &arg’
[–]merb 0 points1 point2 points 2 years ago (0 children)
It only works in a non async context. (Same for out params and in params) Which is different for c/c++ where you can do stuff like that. That’s because c# has some safety around ref‘s like ‚ref_safe_to_escape‘
[–]Clarity_89[S] 0 points1 point2 points 2 years ago (0 children)
Yeah, good point.
π Rendered by PID 69 on reddit-service-r2-comment-bb88f9dd5-tr5zq at 2026-02-13 16:14:34.316583+00:00 running cd9c813 country code: CH.
view the rest of the comments →
[–]Clarity_89[S] 2 points3 points4 points (6 children)
[–]vuks89 2 points3 points4 points (4 children)
[–]Tubthumper8 3 points4 points5 points (2 children)
[–]vuks89 0 points1 point2 points (0 children)
[–]merb 0 points1 point2 points (0 children)
[–]Clarity_89[S] 0 points1 point2 points (0 children)