Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ペライチのJS技術 Underscore.js入門編
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yusuke Katsuki
April 12, 2015
Programming
4.3k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ペライチのJS技術 Underscore.js入門編
Yusuke Katsuki
April 12, 2015
More Decks by Yusuke Katsuki
See All by Yusuke Katsuki
大規模サービスのCakePHP2.xを4.xにジャンプアップした話
katsukii
3
4.2k
若手エンジニアに知ってほしいそれぞれの働き方の現実
katsukii
0
690
健康で文化的な最低限度のSPA
katsukii
0
1.2k
エンジニア採用のベストプラクティス「お手伝いメンバー制度」
katsukii
0
1.1k
Webサービス「ペライチ」を支える 技術とチームとその変遷
katsukii
1
1.7k
Other Decks in Programming
See All in Programming
Webの地図
yosuke_furukawa
PRO
6
4.1k
typoなんかねぇよ
raspython3
0
690
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
App Intentsのビルドプロセスを支える技術
kntkymt
0
230
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
600
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
190
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
220
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
540
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
270
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Docker and Python
trallard
47
4.2k
The Cult of Friendly URLs
andyhume
79
7k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
Six Lessons from altMBA
skipperchong
29
4.5k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Transcript
ペライチのJS技術 Underscore.js入門編
ペライチを支えるJS技術 ・Backbone.js ・require.js ・Underscore.js ・uploadify ・magnific-popup.js
Underscore.jsとは JavaScriptの便利関数 の集合体ライブラリ。100 個くらいの関数が定義さ れている。 Backbone.jsも Underscore.jsに依存し ている。
Underscore.jsを使うメリット - 関数名により処理内容が明示的になるため、可 読性が上がる - コード量が減る - 配列扱うときに繰り返し処理とかやらなくてよく なる
Underscore.jsを使うメリット Before After
Underscore.jsの導入 1. 公式サイトからファイルをダウンロードする http://underscorejs.org/ 2.HTMLのheadタグで読み込む
Underscore.jsの書き方 Underscore.jsを読み込むと、「_」というオブジェク トがが生成される。 このオブジェクトに便利な機能が詰まっている。
メソッドの種類 ・コレクション(each, reduce etc...) ・配列(range, uniq etc...) ・関数(bind, defer etc...)
・ユーティリティ(times, random etc...) ・チェーン(chain, value)
Underscore.js 便利関数10選
each PHPでいうforeachに近い。配列にもオブジェクトにも使える。第 二引数である関数の第二引数にはindex番号が渡される(オブ ジェクトの場合はkey)
map eachに似ている。第二引数の関数内での処理が各値に実行さ れた上で、配列となって返ってくる。
reduce 繰り返し処理。mapと異なるのは、返り値が単一の値であるこ と。第一引数である配列の中身が順に渡り、第二引数である関 数の実行結果が第一引数(memo)にストックされる。第三引数 はmemoの初期値。
groupBy 配列を渡すと、関数処理によってグループ分けされたオブジェク トとして返ってくる
sortBy 配列を渡すと、関数処理によってグループ分けされたオブジェク トとして返ってくる
filter 集合要素から条件にマッチしたものを探して配列にして
where オブジェクトの配列にから、条件に合うオブジェクトのみを探索 する
isUndefined is系はやたら充実。他にもisEmpty, isString, isNull, isNumber など。
keys, values keys:オブジェクトのプロパティ名を配列にして返す values:オブジェクトのプロパティの値をすべて返す
template テンプレオートを引数で置き換えるテンプレート関 数を返す。HTMLの変換に便利。
jQueryとの棲み分け jQueryにもeachやbindとかはあるけど???
jQueryとの棲み分け jQueryにもeachやbindとかはあるけど??? AjaxやDOM操作etc... 配列・オブジェクト操作etc...
jQueryとの棲み分け UnderscoreはjQueryのタ キシードとBackbone.jsの サスペンダーにあうようなネ クタイです。 親和性は非常に高いので両方読み込んで便利に使える。
https://peraichi.com/
ペライチお手伝いメンバー募集 ペライチでは平日夜や土日にお手伝いいただける方を 募集しています。 - Webサービス開発に興味がある方 - スタートアップの中身を覗きたい方 - チーム開発に参加してみたい方 ご興味ある方は以下のフォームよりお気軽にご連絡く
ださい。かならずご返信いたします! お問合せフォーム