0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

カリー化とは

Last updated at Posted at 2022-09-06

意味

  • 関数を返す関数を作り、プログラムの共通化を図る。
  • 言語に関係なく共通する概念であるが、ここではtypescriptで説明します。

例文

typescript
const add = (x:number) => (y:number) => x + y
const add1 = add(1)
const result = add1(2) // 3

説明

関数addは引数xを受け取ると、(y:number) => x + yを返す関数。
add関数の引数として1を入れると、(y:number) => 1 + yの返すようになる。
返された関数の引数yに対して2を入れると、(2) => 1 + 2が成立され、3を返す。

メリット

  • 共通化によってバグを防ぐことができる。
  • まとまった処理を分割することによって、複雑度を下げつことができる。

例文

typescript
const add = (x:number, y: number) => x + y
add(1, 2)  //  3
add(1, 3)  //  4
add(1, 100)  //  101

説明

  • 毎回第一引数として1を入れているため、バグが起きる恐れがある。
  • 引数xに1を入れた関数を作れば、引数xに毎回1を入れなくても良い。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?