≪ Today I learned.
RSS購読
    公開日
    タグ
    JavaScript
    著者
    ダーシノ

    カンマ演算子を使ってパイプラインを実現する

    カンマ演算子とは、演算対象を左から順に評価し最後の値を返す演算子のこと。

    let x = 1
    x = (x++, x)
    console.log(x) // 2

    パイプラインを実現する

    const double = (x: number) => x * 2
    const square = (x: number) => x ** 2
    const power = (x: number, y: number) => x ** y
    
    // 単一の値
    const pipe1 = (val: number) => (
      val = double(val),
      val = square(val),
      val = power(val, 3)
    )
    
    // output: 4096
    console.log(pipe1(2))
    
    // 配列
    const pipe2 = (val: number[]) => (
      val = val.map(double),
      val = val.map(square),
      val = val.map(x => power(x, 3)),
      val = val.filter(x => x % 10 >= 5)
    )
    
    // output: [4096, 46656] 
    console.log(pipe2([1, 2, 3, 4, 5]))