Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【JavaScript】クロージャを理解して正しく使う
Search
TomPenguin
January 26, 2022
Programming
530
0
Share
【JavaScript】クロージャを理解して正しく使う
TomPenguin
January 26, 2022
More Decks by TomPenguin
See All by TomPenguin
Domain Modelを共有していい感じにプロダクトを作る
tompenguin
0
340
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
tompenguin
0
220
Git ゼンゼン ムズカシクナイ
tompenguin
0
560
あきらめる Atomic Design
tompenguin
5
760
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
200
Spec-driven Development: How AI Changes Everything (And Nothing)
simas
PRO
0
380
GoogleCloudとterraform完全に理解した
terisuke
1
160
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
120
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
150
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
180
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
120
PHPer、Cloudflare に引っ越す
suguruooki
1
110
Agentic Elixir
whatyouhide
0
410
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
800
Swift Concurrency Type System
inamiy
1
560
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
150
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
160
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
99
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
330
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
270
Optimizing for Happiness
mojombo
378
71k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
380
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
290
The agentic SEO stack - context over prompts
schlessera
0
760
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
Transcript
クロージャ を理解して正しく使う JavaScript TomPenguin karabiner. inc 2022/01/26 完全に理解したわ
あなたは誰ですか? Vue.jsばっかりさわっているエンジニア。 仙台から福岡のシステム開発会社へフルリ モートで勤務。 デザインからやるWeb制作の仕事、個人で 小さく始めました。 TomPenguin tompenguin_ Work at
karabiner, inc
アジェンダ • クロージャとは • クロージャの何が嬉しいのか • いろいろなクロージャ • ダメなクロージャ
① クロージャとは What’s Closure
子関数が親関数の変数を参照する仕組みのことです。 ① クロージャとは ちょう大雑把に言うと https://developer.mozilla.org/ja/docs/Web/JavaScript/Closures
これだけだよ。今日はお疲れ様でした。
嘘だよ。 でも本当に クロージャってこれだけ
① クロージャとは 親関数
① クロージャとは 子関数
① クロージャとは 親関数の変数
① クロージャとは 親関数の変数の参照
① クロージャとは 子関数を返却
① クロージャとは 親関数の変数の参照を保持
② クロージャの何が嬉しいのか What makes you happy?
② クロージャの何が嬉しいのか • 関数の再利用性が高まる • 引数がシンプルになる • テストが容易になる
② クロージャの何が嬉しいのか 関数の再利用性が高まる 同じ api client、option を使いまわせる
② クロージャの何が嬉しいのか 引数がシンプルになる path を渡すだけで良い
テストが容易になる someAPIClient にモック を差し込むことでリクエ スト結果をコントロール できる ② クロージャの何が嬉しいのか
③ いろいろなクロージャ Various Closures
「子関数を直接返す」 ③ いろいろなクロージャ
「親関数の引数を参照する」 ③ いろいろなクロージャ
「もっと短く」 ③ いろいろなクロージャ
「参照先がModuleスコープ」 ③ いろいろなクロージャ
④ ダメなクロージャ Bad pattern
「状態を持っている」 ④ ダメなクロージャ クロージャは参照を保持するので 状態を持つことができる。 しかし状態を持つと状態の変更の 追跡が困難になるので避ける。
子関数が親関数の変数を参照する仕組みのことです。 まとめ https://developer.mozilla.org/ja/docs/Web/JavaScript/Closures クロージャとは ちょう大雑把に言うと
クロージャ を理解して正しく使う JavaScript TomPenguin karabiner. inc 2022/01/26 完全に理解したわ