Skip to content

What is JavaScript?

JavaScript as a software tool could best be described as an adjustable wrench. It will usually twist a bolt loose, and sometimes it works fine, but it also might strip the bolt in the process, and worse – it might slip off the bolt causing you to bust open your knuckles and bleed everywhere.

It’s a quirky language that it’s creator Brendan Eich describes as having too many foot-guns. You can correct some of these issues by using typescript to ensure type safety, but that alone won’t conquer all of the issues.

The language’s lack of a complete set of functions will force you to use a LOT of libraries (imagine resolving dependencies for 9 Gigabytes of Node Modules) Encryption, time-zone, and currency functions¬† are not handled with native functions in JavaScript. Even creating a simple MD5 hash will require a library, unfortunately.

JavaScript’s Implicit type coercion can also create many issues, letting you do silly things like add a string to a number (but it will cast the number as a string first without even asking) So “1” + 1 can become “11” It will also allowing you to compare an array to a string or to a bool, and every other crazy unsafe thing you can imagine like performing math functions on arrays.

JavaScript overall though… Sometimes you’ll love it, sometimes you’ll hate it, but you’ll never get rid of it because everyone knows JavaScript and [last time I checked] statistics show that it’s used more frequently than any other language.¬†