Semicolons in JavaScript: A preference

Now that I use prettier, it’s really a
matter of what you like to look at (because prettier means that I don’t have to
type them at all). I prefer the way code looks without semicolons so… 🙂 I just
use eslint-config-prettier and let
prettier deal with it.


Semicolons in JavaScript has got to be one of the worst
bikeshedded
topics of all time (right after spaces vs. tabs… 2 spaces please).
Here
are
three resources on the subject of why semicolons
are not necessary. Here’s some criteria that need to be in place before I will
sanction omitting semicolons in a project.

The first thing that you need to know is something called Automatic Semicolon
Insertion (ASI). It’s the “feature” that allows us to even have this
conversation. Read up on that if you’re not familiar. You should not rely on
ASI. It’s a really bad idea for many reasons.

The problems with relying on ASI go away when you compile or minify your code
(depending on your technology). For example, compiling with
Babel will add the semicolons back and uglifying with
terser will too.

So for me to say you’re good to go on omitting semicolons in your source code,
you first need to make sure that whatever you end up shipping to production
(whether browser or node) has the semicolons added back.

There are a few gotchas with ASI. However, if you are using ESLint (which you
should) and you enable the
no-unexpected-multiline
rule, then you’re safe. Just make sure that your build pipeline will fail if
that rule is broken because most assuredly your app will!

With these things in place, this is no longer a discussion about what works and
what doesn’t but becomes a simple matter of preference.

Omitting semicolons is a matter of preference

So why do I prefer to not have semicolons? It’s not just that I have a broken
right pinky (though
sometimes it gets hurt)
or I like typing one less character per line. It’s simply because I don’t like
my linter/editor telling me I need to add something that is not necessary.

Also, I like to stay focused on the problem, not worrying about adding or
removing something that doesn’t really matter in the end. And since I’ve started
omitting semicolons (and gotten used to how ugly it looks at first) I actually
feel like it leaves my code looking cleaner (you’ve just gotta be untrained to
think that you need semicolons).

One argument I’ve heard for using semicolons is that without them, it’s harder
for newcomers to understand the code. I suppose it’s possible, but that hasn’t
been my experience with newcomers I’ve taught. For me I don’t feel like my code
has gotten any less clear, maintainable, or readable since I removed semicolons
from it. And now I don’t have to even think about it.


If you don’t compile/uglify and lint your code properly then I do not recommend
you omit semicolons in your code (it’s not a matter of preference in this case,
it’s simply the proper way to write JavaScript). I definitely would recommend
that you get these things in place (but that’s another blogpost). If you do have
these things in place, then that’s great! You can make the choice based on
preference
! Catch you on the twitters!




Source link

مدونة تقنية تركز على نصائح التدوين ، وتحسين محركات البحث ، ووسائل التواصل الاجتماعي ، وأدوات الهاتف المحمول ، ونصائح الكمبيوتر ، وأدلة إرشادية ونصائح عامة ونصائح