### Data Types in JavaScript
**
**1. **Primitive Data Types
**
In JavaScript, primitive data types are immutable and represent single values. These include:
1. **String
** A string is a sequence of characters enclosed in single quotes ('
), double quotes ("
), or backticks (`
).
-
Example:
let name = 'John Doe'; // String using single quotes let greeting = "Hello, world!"; // String using double quotes let message = `Welcome to JavaScript!`; // String using template literals
2. **Number
** JavaScript has a single type for numbers: Number
, which represents both integers and floating-point numbers.
-
Example:
let age = 25; // Integer let price = 19.99; // Floating-point number
3. **BigInt
** BigInt
is used for integers that are too large to be represented by the Number
type. It can represent arbitrarily large integers.
-
Example:
let largeNumber = 1234567890123456789012345678901234567890n; // BigInt
4. **Boolean
** A Boolean represents one of two values: true
or false
. It is commonly used in conditional expressions.
-
Example:
let isAdult = true; // Boolean let isVerified = false; // Boolean
5. **Undefined
** A variable that is declared but not assigned a value is undefined
. It is also the default value of uninitialized variables.
-
Example:
let name; // Declared but not assigned console.log(name); // Output: undefined
6. **Null
** null
represents the intentional absence of any object value. It is an assignment value.
-
Example:
let user = null; // Null is intentionally empty
7. **Symbol
** Symbol
is a unique and immutable value often used as an identifier for object properties.
-
Example:
let sym = Symbol('description'); console.log(sym); // Output: Symbol(description)
8. **undefined vs null
** - undefined
means a variable has been declared but hasn't been assigned a value.
null
is an intentional assignment of a "no value" state.-
Example:
let a; let b = null; console.log(a); // undefined console.log(b); // null
2. **Non-Primitive (Reference) Data Types
**
In contrast to primitive data types, reference data types store references to the memory location where the data is stored. They include:
1. **Object
** Objects are collections of key-value pairs, where the keys (or properties) are strings (or symbols), and the values can be any data type, including other objects.
-
Example:
let person = { name: 'Alice', age: 30, isEmployed: true }; console.log(person.name); // Output: Alice
2. **Array
** Arrays are ordered lists of values. They can hold multiple data types and are indexed by numbers.
-
Example:
let fruits = ['Apple', 'Banana', 'Cherry']; console.log(fruits[0]); // Output: Apple
3. **Function
** Functions are first-class objects in JavaScript. They can be assigned to variables, passed as arguments, and returned from other functions.
-
Example:
function greet(name) { return `Hello, ${name}!`; } console.log(greet('Alice')); // Output: Hello, Alice!
3. **Type Coercion
**
JavaScript automatically converts data types when necessary. This is called type coercion.
1. **Implicit Coercion
** JavaScript automatically converts types when performing operations like addition, subtraction, etc.
-
Example:
let x = '5' + 1; // '5' is a string, 1 is a number console.log(x); // Output: '51' (string concatenation)
2. **Explicit Coercion
** You can manually convert between data types using functions like String()
, Number()
, Boolean()
.
-
Example:
let str = "123"; let num = Number(str); // Explicit coercion from string to number console.log(num); // Output: 123
4. **Type Checking
**
You can check the data type of a variable using the typeof
operator for primitive types and Array.isArray()
for arrays.
1. **Using typeof
** The typeof
operator returns the data type of a variable.
-
Example:
let num = 10; let str = "Hello"; console.log(typeof num); // Output: 'number' console.log(typeof str); // Output: 'string'
2. **Checking if an Array
** The Array.isArray()
method checks if a value is an array.
-
Example:
let arr = [1, 2, 3]; console.log(Array.isArray(arr)); // Output: true
5. **Special Cases
**
1. **NaN (Not-a-Number)
** NaN
is a special value that represents an invalid number. It is a result of an operation that cannot produce a valid number.
-
Example:
let result = 0 / 0; console.log(result); // Output: NaN console.log(isNaN(result)); // Output: true
2. **Infinity
** Infinity
represents an infinitely large number. It can be positive or negative, depending on the context.
-
Example:
let bigNumber = 1 / 0; console.log(bigNumber); // Output: Infinity
6. **Conversion Between Data Types
**
You can explicitly convert one data type to another using various methods:
1. **String to Number
**
let str = '100';
let num = Number(str); // Converts string to number
console.log(num); // Output: 100
2. **Number to String
**
let num = 123;
let str = String(num); // Converts number to string
console.log(str); // Output: "123"
3. **Boolean to Number
** - true
is converted to 1
, and false
is converted to 0
.
let boolTrue = true;
let boolFalse = false;
console.log(Number(boolTrue)); // Output: 1
console.log(Number(boolFalse)); // Output: 0
4. **Null to Number or String
** - null
is converted to 0
when coerced to a number and "null"
when coerced to a string.
let nullValue = null;
console.log(Number(nullValue)); // Output: 0
console.log(String(nullValue)); // Output: "null"
Hi, I'm Abhay Singh Kathayat!
I am a full-stack developer with expertise in both front-end and back-end technologies. I work with a variety of programming languages and frameworks to build efficient, scalable, and user-friendly applications.
Feel free to reach out to me at my business email: kaashshorts28@gmail.com.
Top comments (0)