Product Reviews

Free Tool: Check Your JavaScript with JSLint

JSLint checks your JavaScript code for issues before running it and waiting for it to blow up.

I have only a grudging acceptance for JavaScript. The nature of JavaScript as a prototype-based dynamic language means that all sorts of things that I like won't ever be fully supported in a JavaScript environment (IntelliSense, full data type checking at design time or compile time). This is, of course, the trade-off for the great things that JavaScript can do, which I've come to appreciate after reading "JavaScript: The Good Parts" by Douglas Crockford (who also had a great deal to do with developing the JSON format).

Well, Crockford also created an online tool for checking your JavaScript code for issues without running your code and waiting for it to blow up: JSLint. All you have to do is paste your JavaScript code into the page, check the tests you do (or don't) want applied and click a button. It's up to you to decide whether you'll accept the feedback; Crockford really, really wants you to include the new "use strict" option at the top of all of your functions, for instance (you can turn that off).

You need a thick skin to use JSLint: As his page says, "JSLint will hurt your feelings." With JavaScript, I expect my feelings to be hurt (a more experienced JavaScript developer might have a different opinion). However, you'll almost certainly learn something about JavaScript by running it through JSLint.

If you don't want to keep returning to the JSLint Web page, there are some command line tools that simplify using it. However, as a Visual Studio developer, you'll probably be more interested in the JSLint VS2010 add-in (available through Visual Studio's Extension Manager). The Add-In integrates JSLint into Visual Studio to give feedback on JavaScript code. The options page lets you configure how JSLint integrates with Visual Studio. By default, for instance, JSLint checks your JavaScript during builds and will cancel the build if it finds a problem; you may want to turn that option off.

About the Author

Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.

comments powered by Disqus

Featured

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

  • Useful New-ish Features in .NET/C#

    We often hear about the big new features in .NET or C#, but what about all of those lesser known, but useful new features? How exactly do you use constructs like collection indices and ranges, date features, and pattern matching?

  • TypeScript 5.8 Beta Speeds Program Loads, Updates

    "TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios."

Subscribe on YouTube