JAVASCRIPT DATA TYPES 🚀
Tags: javascript, codenewbie, webdev, react
Published: 2021-09-11 09:25:53

JavaScript happens to be one of the most popular programming language in 2021. One of the reasons is because it's the only programming language used on the front-end web development. If you are looking forward to be a web dev, then JavaScript is very important to understand. One of the core concepts is JavaScript is `Data Types`. In this blog post we will cover data types in depth.

#JavaScript is Dynamically typed
🔹 A value in JavaScript is of a certain type.
🔹 Types in JavaScript are not bound to variables.
🔹 This means that you don't specify the types when declaring a variable.
🔹 JavaScript is therefore said to be a Dynamically typed programming language.
🔹 You will also find some blog posts calling it `loosely typed`. It means the same thing.

- See below ⬇

![loosely typed](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/04vn5c4cm9h35t0xwzgb.png)

##JavaScript has 8 data types.
The 7 primitive data types:
🔹 Boolean
🔹 null
🔹 undefined
🔹 Number
🔹 BigInt
🔹 String
🔹 Symbol

The non-primitive data type:
🔹 Object

- Note that arrays and functions are objects.
- Functions are special objects with a function value.
- See below ⬇

![arrays and functions are objects](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxd0942rd7akif7115or.png)

##Difference between primitive types and non-primitive types
🔹 Primitives have immutable values (cannot be changed)
🔹 non-primitive have mutable values (can be changed)

- Don't confuse changing a value with changing a variable
- Variables are not values
- See below ⬇

![primitive](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68ak5ffbidk0e54j7wsr.png)
![non-primitive](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68ak5ffbidk0e54j7wsr.png)

🔹 Primitives are compared by value. The same values are strictly equal. They exist at the same memory location.
🔹 non-primitive are not compared by value. Two objects with the same properties and values are not equal. They are created at different memory locations.

- See below ⬇

![Primitive](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lcmnfo0rgxg3trwtpdr4.png)
![non-primitive](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lcmnfo0rgxg3trwtpdr4.png)

## Let's go through the primitive types
**1/7 Boolean**

🔹 A Boolean type has only two values, `true` and `false`.

- They are mostly used for comparisons.
- See below ⬇

![boolean](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e3xq8cp3h62b4sa923ms.png)

**2/7 null**

🔹 A null type contains only the `null` value.
🔹 A null value means nothing, empty or unknown value.

- Note that there is an error in JavaScript. null pretends to be an object. It is NOT an object. It is a primitive type.
-See below ⬇

![null](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/58fpy6425zircwemjy5t.png)

**3/7 undefined**

🔹 The undefined type contains only the `undefined` value.

- If a variable is declared but not assigned, then its value is undefined.
- Not that undefined is not similar to `not defined`.
- See below ⬇

![undefined](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mmt6ip3svyxali18d233.png)

**4/7 Number**
🔹 Number type includes `integers`, `floating point numbers`, `infinity`, `-infinity`, `-0`, and `NaN`.
🔹 You can do Mathematical operations e.g +, -, e.t.c

- NaN means Not a Number.
-See below ⬇

![number](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4u3pvx0tku1vu2km0g82.png)

**5/7 BigInt**
🔹 This type is used to represent very large integers.

- Use cases include cryptography and financial calculation where precision is important.
- You will rarely use it.
- See below ⬇

![bigint](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ksjaq8j1uhr7pis3dini.png)

**6/7 String**
🔹 A string type represents text in JavaScript

- They must be surrounded by quotes or backticks.
- See below ⬇

![string](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gylmmla5lgxj4sqf3li2.png)

**7/7 Symbol**
🔹 The symbol type is used to create unique identifiers for objects.

- It's hard to explain them without diving deeper into objects and properties. So, we are going to skip them for now.

That's it for today. I hope you learned something. We will cover objects, arrays, and functions on their own separate blog posts.

Was this blog post informative? Please leave a like ❤

⚡ Follow me on twitter: https://twitter.com/ChaooCharles
⚡ Subscribe to my YouTube channel: https://youtube.com/c/chaoocharles