The main thesis is:
"If there is a feature of a language that is sometimes problematic, and if it can be replaced by another feature that is more reliable, then always use the more reliable feature."
If you accept this idea then the next is obvious - use JSLint to enforce those replacements.
Quite a lot of the talk is about ideas that apply to any language and you can't really argue with many of the general points. You can, however, take issue with some of the recommendations but if you do try to think about the general objectives before you make a final decision.
I have to admit that the arguments are put so persuasively I have changed my mind on using a particular construct that I had long ago decided was safe as long as you understood it.
Its crimes appear to be a few sloppy and potentially error-prone constructs which are very easy to avoid.
Continuing its push to give all school students the opportunity to learn to code, Code.org is inviting educators to check out the beta of its K-5 Computer Science Curriculum, which will be launched in [ ... ]