3

Typescript で連鎖可能な関数を正しくコーディングしようとしています。以下はコードです

  const sum = (val: number | undefined) => {
    let internal = Number(val);
    if (val) {
      return function sumup(_val: number | undefined) {
        if (_val && internal !== undefined) {
          internal += _val;
          return sumup;
        }
        return internal;
      };
    }
    return internal;
  };

  console.log('sum:', sum(1)(2)(3)());

関数は、正しい結果が得られるまで機能しています。ただし、typescript エラーが発生しています。This expression is not callable. Not all constituents of type 'number | ((_val: number | undefined) => number | ...)' are callable. Type 'number' has no call signatures.

orsumを使用せずにそのような関数を正しくコーディングするにはどうすればよいですか?classthis

4

1 に答える 1