Day 37: Types
Dharan Ganesan
Posted on August 31, 2023
In this article, we'll take a dive into TypeScript types, exploring the built-in types, advanced type concepts, and examples. Let's get started! 🎉
Basic Types 📚
1. number
🔢
Represents numeric values like integers and floating-point numbers.
let age: number = 25;
2. string
🔡
Denotes textual data, typically enclosed in single or double quotes.
let name: string = "Alice";
3. boolean
✅❌
Represents true or false values.
let isActive: boolean = true;
4. any
🌌
A flexible type that allows dynamic types, similar to plain JavaScript.
let dynamicValue: any = 42;
dynamicValue = "Hello!";
5. void
🌫️
Used for functions that don't return a value.
function logMessage(): void {
console.log("Logged!");
}
6. null
and undefined
🚫
Denote the absence of a value. They are separate types and can be assigned to their respective types.
let maybeNull: null = null;
let maybeUndefined: undefined = undefined;
7. never
❌
Represents values that never occur, often used for functions that throw exceptions or enter infinite loops.
function throwError(message: string): never {
throw new Error(message);
}
8. Object 🏛️
Represents non-primitive types, i.e., anything that is not a number, string, boolean, null, or undefined.
let person: object = { name: "Bob", age: 30 };
or
let person: Record<string, string> = { name: "Bob" };
or
let person: { name: string } = { name: "Bob" };
9. symbol
🔑
Creates unique and immutable values, often used as object property keys.
const uniqueKey: symbol = Symbol("unique");
10. Enumerated types (enum
) 🌈
A set of named constant values, great for improving code readability.
enum Color {
Red,
Green,
Blue,
}
let chosenColor: Color = Color.Green;
11. Tuple types 📦
Allows defining an array with fixed types and known lengths.
let person: [string, number] = ["Alice", 25];
12. Array types 📚
Denotes arrays of a specific type.
let numbers: number[] = [1, 2, 3, 4, 5];
13. Type aliases ✍️
Create custom names for types, making complex types more readable.
type Point = { x: number; y: number };
let coordinates: Point = { x: 10, y: 20 };
Advanced Type 🌟
Union Types 🌐
Combining multiple types using the |
operator.
let value: string | number = "Hello";
value = 42;
Intersection Types ⚓
Combining multiple types into one, resulting in the presence of all properties from each type.
type Nameable = { name: string };
type Ageable = { age: number };
type Person = Nameable & Ageable;
let person: Person = { name: "Alice", age: 30 };
Example 🚀
1. Function Signature ✍️
Define a function signature using a type.
type MathOperation = (a: number, b: number) => number;
const add: MathOperation = (a, b) => a + b;
2. Different Type 🗃️
Using type unions to handle different data structures.
type DataStructure = string[] | number[] | object[];
function printLength(data: DataStructure) {
console.log(data.length);
}
Posted on August 31, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.