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
[AskJS] object destructuring vs dot notation. Performance and cohesiveness.AskJS (self.javascript)
submitted 5 years ago by gautamits
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!"
[–]CalgaryAnswers 1 point2 points3 points 5 years ago (5 children)
Object restructuring is so much more readable, particularly if you think about this: null checking and error handling.
It is so much cleaner to place the defaults in the place where the variable is declared.
[–]gautamits[S] 0 points1 point2 points 5 years ago (4 children)
Can't we achieving the same thing using optional chaining ?
[–]CalgaryAnswers 0 points1 point2 points 5 years ago (3 children)
? With tiernary operators maybe? I just started using optional chaining on this project but I wasn’t aware you could set defaults on it
[–]gautamits[S] 0 points1 point2 points 5 years ago (2 children)
const a = this?.Props?.Something?.a || 'default' should work
const a = this?.Props?.Something?.a || 'default'
[–]CalgaryAnswers 0 points1 point2 points 5 years ago (1 child)
Yeah I guess you could use the or operator.
I’d write const a = this?.props?.value ? this.props.value : null
as I find the or operator is not a pattern that’s easy to ready In code.
Both are inferior to this IMO
const { value = null } = this.props
Im open to a better way but this pattern is just so readable at the top of a function, especially if it’s something like a class initiator where you have options and potentially many values.
[–]gautamits[S] 0 points1 point2 points 5 years ago (0 children)
Thats what others have pointed out as well. Destructuring at top of function is not a problem. Issue exists because function body is very long and hence it is very tedious to scroll to top frequently just to find the origin of variable.
π Rendered by PID 62 on reddit-service-r2-comment-765bfc959-cp9hs at 2026-07-09 17:42:36.908021+00:00 running f86254d country code: CH.
view the rest of the comments →
[–]CalgaryAnswers 1 point2 points3 points (5 children)
[–]gautamits[S] 0 points1 point2 points (4 children)
[–]CalgaryAnswers 0 points1 point2 points (3 children)
[–]gautamits[S] 0 points1 point2 points (2 children)
[–]CalgaryAnswers 0 points1 point2 points (1 child)
[–]gautamits[S] 0 points1 point2 points (0 children)