Ejemplo de tupla en JavaScript

Muhammad Muzammil Hussain 12 octubre 2023
  1. Tupla en JavaScript
  2. Tupla JavaScript Ejemplo 2
Ejemplo de tupla en JavaScript

En lenguaje JavaScript, las tuplas son tipos de array con características inmutables. Podemos acceder a la tupla con una sola variable que es un tipo de array.

Tupla en JavaScript

class MyBestTupleExplanation extends Array {
  constructor(...items) {
    super(...items);
    Object.freeze(this);
  }
}

let tuple = new MyBestTupleExplanation('Afridi', 35, 'White');
let [myName, myAge, skinColor] = tuple;
console.debug(myName);     // Afridi
console.debug(myAge);      // 35
console.debug(skinColor);  // White
console.debug('******************************************');
console.debug('Now we are re-assigning the values to tuple');
console.debug('******************************************');
tuple = ['Bob', 24];       // no effect
console.debug(myName);     // Afridi
console.debug(myAge);      // 35
console.debug(skinColor);  // White

Producción :

Afridi
35
White
******************************************
Now we are re-assigning the values to tuple
******************************************
Afridi
35
White

En el ejemplo anterior, creamos una clase llamada MyBestTupleExplanation, heredada de la clase Array. Se comportará como un array pero con características de inmutabilidad. En esta clase llamamos al constructor de la clase Array con el método super.

En el código anterior, usamos la clase MyBestTupleExplanation, y en su constructor, llamamos al método freeze de la clase principal Object y le pasamos un array.

Después de crear esta clase, creamos el objeto de esa clase llamado MyBestTupleExplanation y pasamos los valores a través del constructor.

Hemos creado un array anónima de variables y hemos asignado nuestra tupla a ese array. Los elementos de la tupla se asignarán por índices al array. No funcionará si reasignamos los valores a esa tupla más tarde. Como se muestra en el ejemplo, no podemos reasignar los valores a la tupla.

Tupla JavaScript Ejemplo 2

class MyBestTupleExplanation extends Array {
  constructor(...items) {
    super(...items);
    Object.freeze(this);
  }
}

let tuple = new MyBestTupleExplanation('Afridi', 35);
let [myName, myAge, skinColor] = tuple;
console.debug(myName);     // Afridi
console.debug(myAge);      // 35
console.debug(skinColor);  // undefined

Producción :

Afridi
35
undefined

En el ejemplo anterior, hemos creado una variable skinColor pero sin inicializar su valor; es por eso que estamos recibiendo un error indefinido.