JavaScript 元組示例

Muhammad Muzammil Hussain 2023年1月30日 2022年5月10日
  1. JavaScript 中的元組
  2. JavaScript 元組示例 2
JavaScript 元組示例

在 JavaScript 語言中,元組是具有不可變特性的陣列型別。我們可以使用一個變數訪問元組,該變數是一個陣列型別。

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

輸出:

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

在上面的例子中,我們建立了一個名為 MyBestTupleExplanation 的類,繼承自 Array 類。它將表現得像一個陣列,但具有不變性特徵。在這個類中,我們用 super 方法呼叫 Array 類的建構函式。

在上面的程式碼中,我們使用了 MyBestTupleExplanation 類,在它的建構函式中,我們從父類 Object 呼叫方法 freeze 並將一個陣列傳遞給它。

在建立這個類之後,我們建立了該類的名為 MyBestTupleExplanation 的物件,並通過建構函式傳遞值。

我們建立了一個匿名變數陣列並將我們的元組分配給該陣列。元組中的元素將按索引分配給 array。如果我們稍後將值重新分配給該元組,它將不起作用。如示例所示,我們不能將值重新分配給元組。

JavaScript 元組示例 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

輸出:

Afridi
35
undefined

在上面的例子中,我們建立了一個變數 skinColor,但沒有初始化它的值;這就是為什麼我們得到一個未定義的錯誤。