Typescript
Menu
Tuple
- Tuples in TypeScript are a special type of array that allows you to define an array with a fixed number of elements, where each element can have a different type.
- This feature is particularly useful when you want to group related data together.
- Below are the key aspects of tuples in TypeScript, explained in points with coding examples.
Definition of Tuples
- Typed Arrays: A tuple is defined as a typed array with a pre-defined length and types for each index.
let ourTuple: [number, boolean, string];
- Typed Arrays: A tuple is defined as a typed array with a pre-defined length and types for each index.
Initialization of Tuples
- Correct Initialization: You must initialize the tuple with values that match the specified types and order.
ourTuple = [5, false, 'Coding God was here']; // Valid initialization
- Incorrect Initialization: If you try to assign values in the wrong order or of the wrong type, TypeScript will throw an error.
// ourTuple = [false, 'Coding God was mistaken', 5]; // Error: Type 'boolean' is not assignable to type 'number'.
- Correct Initialization: You must initialize the tuple with values that match the specified types and order.
Accessing Tuple Elements
- You can access elements of a tuple using their index (zero-based).
console.log(ourTuple[0]); // Outputs: 5
console.log(ourTuple[1]); // Outputs: false
- You can access elements of a tuple using their index (zero-based).
Modifying Tuples
- You can modify elements of a tuple by assigning new values to specific indices.
ourTuple[2] = 'New Value'; // Changes the string value to 'New Value'
- You can modify elements of a tuple by assigning new values to specific indices.
Readonly Tuples
- Readonly Modifier: You can create tuples that cannot be modified by using the readonly modifier.
const readonlyTuple: readonly [number, boolean, string] = [5, true, 'The Real Coding God'];
// readonlyTuple[0] = 10; // Error: Cannot assign to '0' because it is a read-only property.
- Readonly Modifier: You can create tuples that cannot be modified by using the readonly modifier.
Optional Elements in Tuples
- You can define optional elements in tuples using the question mark
?
syntax.let rgbaColor: [number, number, number, number?];
rgbaColor = [255, 0, 0]; // RGB only
rgbaColor = [255, 0, 0, 0.5]; // RGBA with alpha channel
- You can define optional elements in tuples using the question mark
Named Tuples
- Named Tuples: You can provide context for your values at each index by naming them.
const graphPoint: [x: number, y: number] = [55.2, 41.3];
console.log(`X: ${graphPoint[0]}, Y: ${graphPoint[1]}`); // Outputs: X: 55.2, Y: 41.3
- Named Tuples: You can provide context for your values at each index by naming them.
Destructing Tuples
- You can destructure tuples into individual variables for easier access.
const point: [number, number] = [10, 20];
const [x, y] = point;
console.log(`X coordinate: ${x}, Y coordinate: ${y}`); // Outputs: X coordinate: 10, Y coordinate: 20
- You can destructure tuples into individual variables for easier access.
Using Tuples in Functions
- Tuples can be used as function parameters or return types to represent multiple values.
function getUserInfo(): [string, number] {
return ['Alice', 30];
}
const userInfo = getUserInfo();
console.log(`Name: ${userInfo[0]}, Age: ${userInfo[1]}`); // Outputs: Name: Alice, Age: 30
- Tuples can be used as function parameters or return types to represent multiple values.
Conclusion
- Tuples in TypeScript provide a way to group related data of specific types and lengths.
- They increase type safety and clarity in your code by ensuring that the type of each element is known and enforced at compile time.
- Understanding how to use tuples effectively will help you manage complex data structures more efficiently in your TypeScript applications.