JavaScript is a dynamically typed language, which means that we don't have to explicitly declare the data type of a variable before using it. Instead, the type of the variable is determined at runtime based on the value it holds.
JavaScript has two main categories of data types: primitives and objects.
Primitive Types | Object Types |
---|---|
Boolean | Array |
Null | Date |
Undefined | RegExp |
Number | Map |
String | Set |
Differences between Primitive Types and Object Types:
When we create a primitive value, it gets stored directly in memory.
Objects, on the other hand, are more complex data types that can contain multiple values and properties. When we create an object, it gets stored in memory, but what actually gets stored is a reference to the location of the object. This means that when we manipulate an object, we are actually manipulating the reference to that object in memory, not the object itself.
Here is a summary of the differences between primitive types and object types:
Primitive Types | Object Types |
---|---|
Stores a single value directly in memory | Stores a reference to an object in memory |
Immutable (cannot be changed) | Mutable (can be changed) |
Compared by value (checks if two values are the same) | Compared by reference (checks if two references point to the same object) |
Passed by value (the value is copied) | Passed by reference (the reference is copied) |
Top comments (0)