> Some people prefer writing JavaScript without semicolons. How do they not have bugs all over the place ?
The same way that people who write with semicolons avoid lots of bugs: linters and transpilers and tests.
That said there is only one rule to remember when not writing semicolons, the easy to remember "winky frown" rule: all frowns must wink if they start a line/statement. ;( ;[ ;`
Our projects' linting rules specify no semicolons, except when necessary; this means that we will _very rarely_ write something like this when we want to iterate over a small literal array:
;['foo', 'bar'].forEach(function (f) {
it(`has an ${f} field`, function () {
expect(......)
})
}
That said, we tend to use that construct extremely rarely, such as in a few test cases where we are doing the same kinds of things on two groups of items that need different descriptions.
The same way that people who write with semicolons avoid lots of bugs: linters and transpilers and tests.
That said there is only one rule to remember when not writing semicolons, the easy to remember "winky frown" rule: all frowns must wink if they start a line/statement. ;( ;[ ;`
;(The last two are quite rare in my experience.)
It's not that tough of a rule to remember.