Why "everthing" is a object in JavaScript

dandankara

Daniel

Posted on July 9, 2024

Why "everthing" is a object in JavaScript

In JavaScript, "everything" is considered an object or can behave like an object due to its design principles. Here are some of the main reasons for this; Some examples;

Example about object in Javascript

But wait, you see null is considere a object, but why?

Some people say it's a bug of the first version of the language and according ECMAScript is "the internal absence of any object value", for more detail follown the link about this Stackoverflow


It can be said that, in JavaScript, any value capable of having properties is an object. This is not the case with primitives (undefined, null, boolean, number, bigint, string and symbol).

Each instance of the Object type, also referred to simply as “an Object”, represents a collection of properties. Each property is either a data property, or an accessor property.


This design choice also aligns with JavaScript's dynamic nature, where objects can be created, modified, and extended at runtime without rigid class definitions. Functions, for example, are treated as objects and can be assigned to variables or passed around as arguments, showcasing JavaScript's functional capabilities alongside its object-oriented features.

In JavaScript, the pervasive concept that "everything is an object or behaves like one" stems from its foundational design principles, which prioritize flexibility, simplicity, and a dynamic approach to programming. This design philosophy underpins much of JavaScript's syntax and behavior, influencing how developers interact with data and functionality within the language.


References

💖 💪 🙅 🚩
dandankara
Daniel

Posted on July 9, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Callback - JavaScript Challenges
webdev Callback - JavaScript Challenges

November 4, 2024

Hoisting in JS
javascript Hoisting in JS

November 19, 2024

Building an API part 1
webdev Building an API part 1

November 12, 2024