VS Code's intellisense (which uses typescript for both js and ts files) however requires definition files for any dependencies to be installed separately (which may or may not exist/be up to date), requires you to explicitly exclude stuff like your node_modules folder otherwise it will simply stop working with no error message. This gets worse if you have multiple nested node/npm projects as is common with, for example, electron projects where you have to make sure you explicitly exclude the paths to any node_modules directories under the jsconfig.json root and you'll need separate jsconfig.json files for every project (which might be what you want, but isn't strictly required with tern like it is here). Another issue is that since vscode is clearly geared towards typescript, a variable's type is determined when it's declared and only then so something like "let app;" sets the app variable's type to "any" which it stays for the entire file no matter what object is assigned to it later.
There are some things I like, such as the ability to define JSON schemas and a number of the issues above don't apply when using typescript but when writing regular old javascript it's pretty lacking.