Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does JavaScript have such a confusing API?

Tags:

javascript

I was wondering why JavaScript has such a confusing API. It is not consistent across browsers, there is a different way to get the value from each type of form input, and it is unforgiving of mistakes. jQuery has changed my life because its API is so much easier. Why did the creators of JavaScript not set up the API like that in the first place?

like image 809
Brian Avatar asked Mar 16 '26 12:03

Brian


2 Answers

The JavaScript API, itself, is consistent between browsers (and is defined by ECMA, though originally developed by Netscape). The difference between browsers is the document object model (DOM). The DOM was developed independently by the different browsers, originally IE and Netscape, but now IE, Mozilla and others. The W3C has joined to try to consolidate the differences and create a common standard. For backward compatibility, the old differences remain. And, yes, jQuery has gone a long way toward making the DOM easier.

like image 161
Doug Domeny Avatar answered Mar 19 '26 03:03

Doug Domeny


Creators of Javascript did not setup the API, since Javascript is a language, not an API.

What you are refering to is the Document Object Model (DOM) which is the document manipulation API. It is a standard specified by the W3C and its behaviour should be consistent among browsers.

Unfortunately, some parts were badly specified, some other parts are badly implemented by browser vendors. Additionally, vendors extend this API with proprietary extensions that may never be added in the standard but that are very popular (like document.all in its time).

That's why today's API in browsers are so inconsistent.

like image 26
Vincent Robert Avatar answered Mar 19 '26 02:03

Vincent Robert



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!