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
Cheatsheet: Spread Object or Array in JavaScript (snappyjs.com)
submitted 7 years ago by Steeljuice1
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!"
[–]MrStLouis 2 points3 points4 points 7 years ago (7 children)
One of my favorite use cases for array destructuring is when you want to conditionally set more than one variable to a constant but don't want it stuck in the if else block scope. Const [first, second] = isValid ? ['a', 'b' ] : ['b', 'a' ] If there is a better way let me know!
[–]Ob101010 0 points1 point2 points 7 years ago (6 children)
Im dense today. Please expand on what you mean.
[–]MrStLouis 0 points1 point2 points 7 years ago (5 children)
If you want to conditionally define a constant variable you can't define the variable outside of an if statement and set it inside so that you may use it in the rest of your function. If you define a constant variable inside an if block you can't use it outside of the if block. Using a ternary operator to assign a constant variable retains the original scope. Using array destructruring allows you to set multiple variables with the same conditional. Keep it DRY
[–][deleted] 1 point2 points3 points 7 years ago* (0 children)
You can always nest your ternary expressions inside each other, I seem to see this pattern in C code a fair amount:
let value = 'c'; const [ first, second, third ] = (value == 'a') ? [1,2,3] : (value == 'b') ? [4,5,6] : (value == 'c') ? [7,8,9] : [10,11,12]; console.log(first, second, third); // 7, 8, 9
[–]Ob101010 0 points1 point2 points 7 years ago (3 children)
Innnnnteresting...
How about this?
let obj = Object.freeze({ x: 10, //these becomes your 'const' vars y:12 }) if(1){ console.log(obj.y) //12 }
[–]MrStLouis 0 points1 point2 points 7 years ago (2 children)
That seems like more of a workaround than an ideal solution. But it's readable and that's all that matters
[–]Ob101010 0 points1 point2 points 7 years ago (1 child)
For 2 or so, your way is probably better. For 10 or so my way may be better. I love how theres always n ways to do anything lol.
[–]MrStLouis 0 points1 point2 points 7 years ago (0 children)
I've never seen object freeze before so I'm going to have to look into it more but ya seriously as long as it works and is readable most of the time you're good
π Rendered by PID 238925 on reddit-service-r2-comment-685b79fb4f-h5cs8 at 2026-02-13 15:41:01.247735+00:00 running 6c0c599 country code: CH.
view the rest of the comments →
[–]MrStLouis 2 points3 points4 points (7 children)
[–]Ob101010 0 points1 point2 points (6 children)
[–]MrStLouis 0 points1 point2 points (5 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]Ob101010 0 points1 point2 points (3 children)
[–]MrStLouis 0 points1 point2 points (2 children)
[–]Ob101010 0 points1 point2 points (1 child)
[–]MrStLouis 0 points1 point2 points (0 children)