JavaScript-Tupel-Beispiel

Muhammad Muzammil Hussain 12 Oktober 2023
  1. Tupel in JavaScript
  2. JavaScript-Tupel-Beispiel 2
JavaScript-Tupel-Beispiel

In der JavaScript-Sprache sind Tupel Arten von Arrays mit unveränderlichen Merkmalen. Wir können auf Tupel mit einer einzigen Variablen zugreifen, die eine Art array ist.

Tupel in 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

Ausgabe:

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

Im obigen Beispiel haben wir eine Klasse namens MyBestTupleExplanation erstellt, die von der Array-Klasse geerbt wurde. Es verhält sich wie ein Array, jedoch mit Unveränderlichkeitsfunktionen. In dieser Klasse rufen wir den Konstruktor der Klasse Array mit der Methode super auf.

Im obigen Code haben wir die Klasse MyBestTupleExplanation verwendet und in ihrem Konstruktor die Methode freeze von der übergeordneten Klasse Object aufgerufen und ihr ein Array übergeben.

Nachdem wir diese Klasse erstellt haben, haben wir das Objekt dieser Klasse mit dem Namen MyBestTupleExplanation erstellt und die Werte durch den Konstruktor übergeben.

Wir haben ein anonymes Array von Variablen erstellt und diesem Array unser Tupel zugewiesen. Die Elemente im Tupel werden indexweise dem array zugewiesen. Es funktioniert nicht, wenn wir die Werte später diesem Tupel neu zuweisen. Wie im Beispiel gezeigt, können wir die Werte dem Tupel nicht neu zuweisen.

JavaScript-Tupel-Beispiel 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

Ausgabe:

Afridi
35
undefined

Im obigen Beispiel haben wir eine Variable skinColor erstellt, aber ihren Wert nicht initialisiert; Deshalb erhalten wir einen undefinierten Fehler.