TypeScript Tuple

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

✅ Some premium posts are free to read — no account needed. Follow me on Medium to stay updated and support my writing.

🎓 Top 10 Udemy Courses (Huge Discount): Explore My Udemy Courses — Learn through real-time, project-based development.

▶️ Subscribe to My YouTube Channel (172K+ subscribers): Java Guides on YouTube

Introduction

In this chapter, we will explore tuples in TypeScript. Tuples are a special type of array that can hold elements of different types. Understanding how to work with tuples is essential for managing and manipulating collections of data with mixed types in your TypeScript programs.

Table of Contents

  • Definition
  • Tuple Syntax
  • Creating and Accessing Tuple Elements
  • Tuple Methods
  • Destructuring Tuples
  • Type Inference with Tuples
  • Complete Example with Output
  • Conclusion

Definition

A tuple in TypeScript is a fixed-length array that can hold elements of different types. Tuples are useful for representing a collection of related but heterogeneous values, such as a pair of a string and a number.

Tuple Syntax

Syntax

let tupleName: [type1, type2, ...] = [value1, value2, ...];

Example

let person: [string, number] = ["Ramesh", 25];
console.log(person);

Output

[ 'Ramesh', 25 ]

Creating and Accessing Tuple Elements

You can create tuples with initial values and access elements using their index.

Example

let person: [string, number] = ["Ramesh", 25];

// Accessing elements
console.log(person[0]); // Output: Ramesh
console.log(person[1]); // Output: 25

// Modifying elements
person[1] = 26;
console.log(person); // Output: [ 'Ramesh', 26 ]

Output

Ramesh
25
[ 'Ramesh', 26 ]

Tuple Methods

Tuples support common array methods such as push, pop, shift, unshift, concat, slice, and splice. However, these methods must maintain the integrity of the tuple's types.

Example

let person: [string, number] = ["Ramesh", 25];

// push
person.push("Mumbai");
console.log(person); // Output: [ 'Ramesh', 25, 'Mumbai' ]

// pop
person.pop();
console.log(person); // Output: [ 'Ramesh', 25 ]

// Other methods
let extendedPerson: [string, number, string] = ["Ramesh", 25, "Developer"];
console.log(extendedPerson); // Output: [ 'Ramesh', 25, 'Developer' ]

Output

[ 'Ramesh', 25, 'Mumbai' ]
[ 'Ramesh', 25 ]
[ 'Ramesh', 25, 'Developer' ]

Destructuring Tuples

You can destructure tuples to extract individual elements into variables.

Example

let person: [string, number] = ["Ramesh", 25];

// Destructuring
let [name, age] = person;
console.log(name); // Output: Ramesh
console.log(age); // Output: 25

Output

Ramesh
25

Type Inference with Tuples

TypeScript can infer the types of tuple elements based on their initial values.

Example

let person = ["Ramesh", 25] as [string, number];

// TypeScript infers the type of 'person' as [string, number]
console.log(person[0]); // Output: Ramesh
console.log(person[1]); // Output: 25

Output

Ramesh
25

Complete Example with Output

In this section, we will combine all the examples into a single TypeScript file, compile it to JavaScript, and run it to see the output.

TypeScript Code

You can test the following code in the TypeScript Playground:

// Creating and Accessing Tuple Elements
let person: [string, number] = ["Ramesh", 25];

// Accessing elements
console.log(person[0]); // Output: Ramesh
console.log(person[1]); // Output: 25

// Modifying elements
person[1] = 26;
console.log(person); // Output: [ 'Ramesh', 26 ]

// Tuple Methods
person.push("Mumbai");
console.log(person); // Output: [ 'Ramesh', 26, 'Mumbai' ]

person.pop();
console.log(person); // Output: [ 'Ramesh', 26 ]

let extendedPerson: [string, number, string] = ["Ramesh", 25, "Developer"];
console.log(extendedPerson); // Output: [ 'Ramesh', 25, 'Developer' ]

// Destructuring Tuples
let [name, age] = person;
console.log(name); // Output: Ramesh
console.log(age); // Output: 26

// Type Inference with Tuples
let inferredPerson = ["Ramesh", 25] as [string, number];

// TypeScript infers the type of 'inferredPerson' as [string, number]
console.log(inferredPerson[0]); // Output: Ramesh
console.log(inferredPerson[1]); // Output: 25

Conclusion

In this chapter, we covered tuples in TypeScript, including how to create and access tuple elements, use common tuple methods, destructure tuples, and understand type inference with tuples. We provided a complete example with its output to illustrate how tuples work in TypeScript.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare