Tuple 算是 FP 都會提供的資料型別,ECMAScript 雖然沒有提供 Tuple,但可使用 Array Destructuring 輕易實現。
Version
macOS Catalina 10.15.2
VS Code 1.41.1
Quokka 1.0.271
ECMAScript 2015
Tuple
let getBook = () => {
let title = 'FP in JavaScript'
let price = 100
return [title, price]
}
let [title, price] = getBook()
title // ?
price // ?
若 function 要回傳兩個以上值,最方便就是回傳 tuple,但 ECMAScript 目前還沒支援 tuple。
可將多值以 array 組合後回傳,user 可直接使用 array destructuring 對 array 解構,還可順便定義 varaible 名稱。
Conclusion
- 雖然亦可使用 object destructuring 實現 tutple,但限制了 user 的 variable 名稱要跟 property 一樣,所以實務上建議使用 array destructuring 實現 tuple