https://andycallaghan.com/posts/defensive-modern-javascript/
Defensive Modern Javascipt - Andy Callaghan