選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

TypeScript 元組 (Tuples)


型別化陣列

元組 (tuple) 是一種型別化的 陣列,它具有預定義的長度和每個索引的型別。

元組之所以很棒,是因為它們允許陣列中的每個元素都是已知型別的。值。

要定義元組,請指定陣列中每個元素的型別

示例

// 定義我們的元組
let ourTuple: [number, boolean, string];

// 正確初始化
ourTuple = [5, false, 'Coding God was here'];
自己動手試一試 »

正如您所見,我們有一個數字、一個布林值和一個字串。但是,如果我們嘗試按錯誤的順序設定它們會怎樣?

示例

// 定義我們的元組
let ourTuple: [number, boolean, string];

// 錯誤初始化,會引發錯誤
ourTuple = [false, 'Coding God was mistaken', 5];
自己動手試一試 »

即使我們擁有 booleanstringnumber,它們在我們的元組中的順序也很重要,並且會引發錯誤。


只讀元組

最佳實踐是使您的元組 readonly

元組僅對初始值具有強型別定義

示例

// 定義我們的元組
let ourTuple: [number, boolean, string];
// 正確初始化
ourTuple = [5, false, 'Coding God was here'];
// 對於索引 3+,我們的元組沒有型別安全
ourTuple.push('Something new and wrong');
console.log(ourTuple);
自己動手試一試 »

您會看到新值元組僅對初始值具有強型別定義

示例

// 定義我們的只讀元組
const ourReadonlyTuple: readonly [number, boolean, string] = [5, true, 'The Real Coding God'];
// 因為它是隻讀的,所以會引發錯誤。
ourReadonlyTuple.push('Coding God took a day off');
自己動手試一試 »

要了解有關 readonly 等訪問修飾符的更多資訊,請訪問我們有關它們的章節:TypeScript 類

如果您以前使用過 React,那麼您很可能接觸過元組。

useState 返回一個由值和設定器函式組成的元組。

常見的例子是 const [firstName, setFirstName] = useState('Dylan')

由於這種結構,我們知道列表中的第一個值將是特定型別的值,在本例中是 string,第二個值是 function


w3schools CERTIFIED . 2022

獲得認證!

完成 TypeScript 模組,做練習,參加考試,成為 W3Schools 認證!!

$45 報名

命名元組

命名元組允許我們為每個索引處的值提供上下文。

示例

const graph: [x: number, y: number] = [55.2, 41.3];

命名元組為我們的索引值代表的內容提供了更多上下文。


解構元組

由於元組是陣列,因此我們也可以解構它們。

示例

const graph: [number, number] = [55.2, 41.3];
const [x, y] = graph;

要複習解構,請在此處檢視:此處


TypeScript 練習

透過練習來測試自己

練習

元組的值型別順序無關緊要


        

開始練習


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援