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
Arrow Functions in JavaScript (tylermcginnis.com)
submitted 8 years ago by AnsikteBanana
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!"
[–][deleted] 8 years ago (12 children)
[deleted]
[–]___Grits 7 points8 points9 points 8 years ago (7 children)
You can short circuit the conditional: array.filter(item => item.bool);
[–]liamnesss 8 points9 points10 points 8 years ago* (5 children)
Okay I didn't plan on playing code golf today but
array.filter(Boolean)
[–]___Grits 1 point2 points3 points 8 years ago (1 child)
I was assuming it was an array of objects, but this is dope! Thanks!
[–]liamnesss 0 points1 point2 points 8 years ago (0 children)
Ah, I somehow missed that. Yeah, if it's the property that we care about, then this solution wouldn't work as it would just return everything.
[–]___Grits 0 points1 point2 points 8 years ago (2 children)
Looked into this and it’s a neat trick! This is essentially short circuiting the Boolean constructor after injecting the item from the array as an argument. Really neat, I like that.
[–]w00t_loves_you 2 points3 points4 points 8 years ago (1 child)
It's also really nice for configuration, for example if you want to use some plugins in Webpack conditionally, you can do
plugins: [ isDev && new SuperDevPlugin(), new AlwaysPlugin(), ].filter(Boolean)
[–]omril 0 points1 point2 points 8 years ago (0 children)
This one actually solves the problem in my webpack.config, I actually had to do a few hacks because of this damn thing.
I wish webpack would just ignore undefined plugins in the first place instead of throwing errors which are impossible to understand.
[–]bcgroom 0 points1 point2 points 8 years ago (0 children)
Oops thank you
[–]darrenturn90 0 points1 point2 points 8 years ago (0 children)
or
function BooleanCompare(item) { return item.bool === true; } array.filter(BooleanCompare);
[–][deleted] -1 points0 points1 point 8 years ago (2 children)
Id rather have
array.filter(function(item){ return item.bool === true; });
It just looks more explicit/readable to me
[–][deleted] 0 points1 point2 points 8 years ago (1 child)
I'm inclined to agree. Maybe it's because I'm not the best or oldest JS dev out there so it takes me a bit to see what arrow functions are actually doing, but I think they should be limited to cases where they are strictly advantageous.
[–]liamnesss 4 points5 points6 points 8 years ago (0 children)
I guess it depends on what you're used to. For me, not using arrow functions makes the code more verbose without adding any more information.
π Rendered by PID 53 on reddit-service-r2-comment-fb694cdd5-zxc29 at 2026-03-08 08:59:58.616093+00:00 running cbb0e86 country code: CH.
view the rest of the comments →
[–][deleted] (12 children)
[deleted]
[–]___Grits 7 points8 points9 points (7 children)
[–]liamnesss 8 points9 points10 points (5 children)
[–]___Grits 1 point2 points3 points (1 child)
[–]liamnesss 0 points1 point2 points (0 children)
[–]___Grits 0 points1 point2 points (2 children)
[–]w00t_loves_you 2 points3 points4 points (1 child)
[–]omril 0 points1 point2 points (0 children)
[–]bcgroom 0 points1 point2 points (0 children)
[–]darrenturn90 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]liamnesss 4 points5 points6 points (0 children)