Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

5
  • To be fair ubiquitous and popular aren't necessarily the same! ;-) Anyway, webstorm is an excellent IDE for JavaScript (and though not free it's pretty cheap). I've not used it but I believe IntelliJ (also from Jetbrains) contains the same functionality which might be relevant if you're from a Java background and want to use a single IDE. Commented Sep 27, 2011 at 8:36
  • OK maybe I need to clarify... I meant "growing in popularity" more in the context of development outwith the browser/DOM. I.e., it gets used where other alternatives are available. By "function's entry point" I meant locating the point in the code at which a function is invoked. Parameter properties: there is no way for an IDE to know the properties of a given object before runtime! Anonymous functions: I may not like them, but others whose code I need to maintain do. JSLint does not know whether I have mistyped a property name of a given object, for instance. Commented Sep 27, 2011 at 8:57
  • @funkybro "there is no way for an IDE to know the properties of a given object before runtime" There is, just include "whateverMyObjectIs.js" as a referenced script in the ide, and for mistyped property names, try webstorm it does this (if I remember correctly). Commented Sep 27, 2011 at 9:04
  • 3
    There is not! Consider this code: var myFunc = function(param) { ... }; var myObj1 = { fooProp: fooVal, barProp: barVal}; var myObj2 = { catProp: catVal, dogProp: dogVal}; myFunc(myObj1); myFunc(myObj2); How can an IDE offer code completion on myFunc's param parameter? param could be any object of any type, with any properties. Commented Sep 27, 2011 at 9:09
  • Yes, but presumably the params you're passing in are actually available in that context. A parser can sort that out without being its own full blown JS interpreter. Commented Sep 30, 2011 at 23:16