Here are my thoughts on the article:
1. I would always prefer that developers focus on readability first. The double tilde `~~` has negligible performance increase until you get to insanely large numbers and it decreases readability. We can read math.round(or floor or ceil) and know exactly what the intention is behind it. I think this article does a good job explaining the issues with this method: https://www.jstips.co/en/javascript/rounding-the-fast-way/
2. Definitely a good option if you are approaching a very large dataset.
3. I have a preference for Object Literals over switch statements. I think they are more readable and roughly as performant. The main issue with Object Literals is that they don't catch default cases, so you'll have to handle that separately or include cases for undefined, null, etc. https://www.measurethat.net/Benchmarks/Show/3444/0/switch-vs-object-literal
4. I love short-circuit conditionals, but we just have to make sure we don't get too carried away with them. I definitely use it in JSX sometimes. They are great for small things like what you've presented, but if you have more than a single line of code it can reduce readability.
5. Completely agree with this. Typescript would also help a lot with ensuring that the developer knows whether or not the value is required.
Great article. Just my two cents on my preferences and what I like to see in the code bases I've worked in over the years.