院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

javascriptでパターンマッチ

javascript関数型言語でいうパターンマッチが使いたい
matches.jsってのがまさにそれなんだけど6年前に更新が止まってる。
GitHub - natefaubion/matches.js: Powerful pattern matching for Javascript

const match = require('matches').caseOf
const test = arr => {
    return match(arr, {
        '[]': () => '空です',
        '[x]': (x) => `要素は${x}のみです`,
        '[hd,...rest]': (hd, rest) => `要素は${hd}と${rest}です`,
    })
}


GitHub - z-pattern-matching/z: native pattern matching for javascript
これは3ヶ月前が最終更新だ

const { matches } = require('z')
const test = arr => {
    return matches(arr)(
        () => '空です',
        (x, rest = []) => `要素は${x}のみです`,
        (hd, rest) => `要素は${hd}と${rest}です`
    )
}

とりあえずこれを使っていきますか