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
TypeScript - road to static (typing) ojisan -
Search
dojineko
December 07, 2017
Technology
1.7k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScript - road to static (typing) ojisan -
dojineko
December 07, 2017
More Decks by dojineko
See All by dojineko
コスパの良いAIの選び方 / Surviving the AI Era on a Budget
dojineko
0
58
ミニPCを買ってみた話/The Story of Buying a Mini PC
dojineko
0
65
WebXRのいま(2025Q1) / About WebXR (2025Q1)
dojineko
0
800
iOSのWebViewとClipboardAPI / WebView and ClipboardAPI on iOS
dojineko
0
190
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
230
WebXRでポートフォリオを作ろう/Let's make your portfolio with WebXR!
dojineko
0
240
ペパボ ホスティング事業部のWebフロントエンドについて 2022 / About Web Frontend of Pepabo Hosting division 2022
dojineko
1
10k
Viteはいいぞ/Vite is Good
dojineko
1
850
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
520
Other Decks in Technology
See All in Technology
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
230
アカウント統制の健康診断
kenichinakamura
1
170
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
120
Browser Spec: Testing Hotwire with Ruby
takahashim
1
170
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
300
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
340
AI時代のGraphQL
joere
3
390
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
120
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
280
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
140
AWSセキュリティで活用するAI機能
cmusudakeisuke
1
280
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
1.1k
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
600
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Optimizing for Happiness
mojombo
378
71k
Facilitating Awesome Meetings
lara
57
7.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
500
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
620
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Transcript
dSPBEUPTUBUJD UZQJOH PKJTBOd !EPKJOFLP(.01FQBCP *OD 5FDI.5( 5ZQF4DSJQU
5ZQF4DSJQUͰ ੩తܕ͚͓͡͞ΜϥΠϑ
࣍ w5ZQF4DSJQUͱʁ w5ZQF4DSJQUͷίί͕ศར w5ZQF4DSJQUͷͭΒΈ ͱରԠࡦ wͪΐͬͱͣͭ࢝ΊΔ5ZQF4DSJQU
5ZQF4DSJQUͱʁ
5ZQF4DSJQU w.JDSPTPGUൃͷ੩తܕͷBMU+4 w+BWB4DSJQUͷεʔύʔηοτͰ͋Γɺ ͯ͢ͷ+BWB4DSJQU༗ޮͳ 5ZQF4DSJQUͱݴ͑Δ wίϯύΠϥͷػೳʹґΔίʔυิͳ ͲͷΤσΟλࢧԉͰָʹ։ൃ͕Ͱ͖Δ wIUUQTXXXUZQFTDSJQUMBOHPSH
ͳΜͰ5ZQF4DSJQU
ϚωʔδυΫϥυͰͷ࠾༻ཧ༝ w ϚωʔδυΫϥυϑϩϯταΠυ͔ΒαʔόʔαΠυ·ͰҰ؏ͯ͠ +BWB4DSJQUͰ࣮͞Ε͍ͯΔ w ։ൃ͕ਐΉʹ࿈Εͯ૿͍͑ͯ͘υΩϡϝϯτԽ͞Ε͍ͯͳ͍+BWB4DSJQU w +4%PD +BWB4DSJQUͷυΩϡϝϯτπʔϧ ະಋೖ
w 5ZQF4DSJQUͷಋೖ࣌ςετ͜Ε͔Βॻ͍͍ͯ͘ͱ͍͏ϑΣʔζ w ͦ͜Ͱ5ZQF4DSJQUʹΑΔɺ੩తܕ͚Λར༻ͨ͠ߏจղੳɺίʔυิͳͲͷ ΤσΟλࢧԉػೳΛ׆༻͢Δ w ʮίʔυΛಡΈղ͔ͳͯ͘ɺࠓ͔Β͡ΊΒΕΔ։ൃڥʯ͕ΰʔϧʂ
ϚωʔδυΫϥυͰͷ࠾༻ཧ༝ w5ZQF4DSJQU(PPHMFࣾͰར༻Մೳͳݴޠʹ࠾༻͞Εͨ w IUUQXXXQVCMJDLFZKQCMPHHPPHMFUZQFTDSJQUOHDPOG@IUNM w $$ ɺ+BWBɺ+BWB4DSJQUɺ1ZUIPOɺ(Pʹଓ͍ͯͷ࠾༻ w ͕͔ΓͰݕ౼ɾݕূΛͯ͠ͷ݁Ռͱͷ͜ͱ wνʔϜ։ൃʹԙ͍ͯɺܕʹΑΔ੍͕ίʔυͷ࣭ͷ୲อʹɺ
͋Δఔ༗ޮʹಇ͘ݟࠐΈ͕͋ͬͨ wίϯύΠϧޙͷίʔυਓ͕ಡΊΔΑ͏ͳܗʹͳ͍ͬͯΔ
ίʔυΛಡΈղ͔ͳͯ͘ ࠓ͔Β࢝ΊΒΕΔ։ൃڥ
ܕγεςϜ੩తղੳ ੩తղੳ ඇ࣮ߦ࣌ʹ͓͚ΔܕใΛ͍࣋ͬͯΔͷͰ ͋ΔఔςετΛॻ͔ͣͱίʔυΛ࣮ߦͤͣ ίϯύΠϧ࣌ʹϛεʹؾ͚ͮΔʂ ʜ͕ɺܕʹΑͬͯอূ͞ΕΔͷͰى͜Γʹ͍͘ʂ ؒҧͬͯίϯύΠϥ͕ࢦఠͯ͘͠ΕΔʂະવʹ͕ΕΔʂ w ͏͔ͬΓΛظ͢ΔมʹจࣈྻΛೖΕͨʜ w
͕ؔظ͍ͯ͠ͳ͍ҾΛͨ͠ʜ w ܕ͕֬ఆ͠ͳ͍ঢ়ଶͰࢀরͪ͠Ό࣮ͬͯߦ࣌ʹΤϥʔʜ
ίʔυิ ίʔυิ ίϯύΠϥʹΤσΟλࢧԉػೳ͕͍͓ͭͯΓ ରԠͨ͠ΤσΟλ֦ுػೳΛಋೖ͢Δͱ ܕใΛݩʹೖྗީิΛิͯ͘͠ΕΔʂ ʜ͕ɺυΩϡϝϯτΛݟͣͱ͔Δʂ ༻ํ๏·Ͱग़ͯ͘ΔʂλΠϓݮָͬͯͰ͖Δʂ w DMBTT9:;ͬͯԿͷϝιου͕͚͋ͬͨͬʜ w
͜ͷϝιουͬͯԿܕ͕ฦͬͯ͘ΔΜ͚ͩͬʜ w ͦͦԿͯͨ͠Μ͚ͩͬʜ
੩తܕ͚ɾಈతܕ͚ w੩తղੳίʔυิɺ*%&ɺ੩తܕ͖ݴޠͷίϯύΠϥ͔Β ͢ΔͱׂΓͱҰൠతͳػೳ ʹͳͬͨ w͔͠͠ͳ͕ΒզΒ͕+BWB4DSJQUಈతܕ͖ݴޠͳͷͰ࣮ߦ͢Δ· Ͱܕͷঢ়ଶ͕ෆఆɺ͘͠ਪ͢Δ͜ͱ͕͍͠ w5ZQF4DSJQUಈతܕ͖ݴޠͷ+BWB4DSJQUʹܕͷ֙Λணͤͯ੩త ܕ͚ͱͨ͠ݴޠ
5ZQF4DSJQUͷΠϝʔδ 5ZQF4DSJQU+BWB4DSJQUͷ֙ ੩తͳܕΛ༩͑Δͱڞʹɺ ศརͳث༩͑ͯ͘ΕΔɻ ੩తղੳɺίʔυิFUDʜ 5ZQF4DSJQU֙ͳͷͰ͋͘·Ͱ ࣮ߦ͞ΕΔͷ+BWB4DSJQU +4ͷ৺ΛΕͯΠέφΠɻ ݹࣄهʹͦ͏ॻ͔Ε͍ͯΔ
Generics Interface Abstract Class Async/Await Enum Namespace Decorator Promise ΄͔ʹ+4ʹແ͍
ศརͳػೳ͕ͨ͘͞Μʂ
ଟ͗ͯ͢આ໌͖͠Εͳ͍ͷͰࠓճলུʜ
5ZQF4DSJQU·ͱΊ w5ZQF4DSJQU+BWB4DSJQUΛ੩తܕ͚ͰهࡌͰ͖ΔBMU+4ͩΑ wΤσΟλࢧԉػೳ͋ͬͯͱͬͯศརʂ w੩తܕ͚ͳͷͰಈతܕ͖ݴޠʹ͋Γ͕ͪͳɺ ͜·͔ͳϛεେίϯύΠϥ͕ࣄલʹࢦఠͯ͘͠ΕΔΑ wଞʹ+BWB4DSJQUΛϕʔεʹศརͳػೳ͕ࢁ༻ҙ͞ΕͯΔΑ
5ZQF4DSJQUͷͭΒΈʜ ͱରԠࡦ
ྫܕఆ͕ٛͳ͍
5ZQF4DSJQUʹԙ͚ΔܕγεςϜ w5ZQF4DSJQU੩తܕ͚Ͱͳ͍+BWB4DSJQUʹܕΛ࣋ͪࠐΉΈ w༧Ί͍͍ͨ֎෦ϥΠϒϥϦͷܕఆٛ͞Ε͍ͯΔඞཁ͕͋Δ wK2VFSZ 3FBDU "OHVMBS 7VFKT /PEFͷίΞϥΠϒϥϦ FUDʜ wϝδϟʔͳͷ%FpOJFUMZ5ZQFEͰܕఆ͕ٛఏڙ͞Ε͍ͯΔ
wϥΠϒϥϦ͕ࣗܕఆٛใΛ͍࣋ͬͯΔ߹ w5ZQF4DSJQU+4%PD͔ΒܕใΛऔΕΔ
OQNͰܕఆٛϑΝΠϧΛ औಘͯ͑͠Δʂ Λ͑Δ ϥΠϒϥϦͷܕఆٛΛऩ ༗ࢤ͕όϯόϯߋ৽ͯ͘͠ΕΔ
Ͱɺܕఆ͕ٛ୭ʹఏڙ͞Εͯͳ͍ϥΠϒϥϦΛ͏γʔϯͰʜʁ
͠ܕఆ͕ٛͳ͔ͬͨΒʁ wʲύλʔϯʳܕఆٛΛॻ͘ʂ wܕఆٛಠࣗͰॻ͘͜ͱͰ͖ΔͷͰͬ͘͞Γॻ͍ͯ͠·͏ύλʔϯ wOQNͰެ։͞ΕͯΔͷͷܕఆٛΛॻ͍ͨΒ%FpOJFUMZ5ZQFEʹ ϓϧϦΫΤετΛૹΔͱྑ͍ ͪΖΜૹΒͳͯ͘0,
ܕఆٛͷແ͍ϥΠϒϥϦͷྫ w จࣈྻΛCPPMFBOʹม͢ΔZOͱ͍͏ύοέʔδ w ڥม TUSJOH ͔ΒCPPMFBOʹม͍ͨ͠ʂ w ͔͠͠ͳ͕Β͜Εʹܕఆ͕ٛఏڙ͞Ε͍ͯͳ͍ w
%FpOJFUMZ5ZQFEʹܕఆ͕ٛͳ͍ w +4%PD͍ͭͯͳ͍ ΞϨ͑ͨʜ w ܕఆ͕ٛͳ͍ͷͰ5ZQF4DSJQU্Ͱ ม݁ՌΛCPPMFBOͱͯ͠ड͚औΕͳ͍ʜ w શ෦BOZܕʹͳΔʜ͔ͳ$
ܕఆٛΛॻ͜͏ʂ
ܕఆٛΛॻ͘Αʂ w ͜ΕͰ5ZQF4DSJQUͰܕΛ࣋ͬͨঢ়ଶͰZOΛ͏͜ͱ͕Ͱ͖Δ w ܕఆٛύοέʔδͷͯ͢ͷ࣮Λཏ͢Δඞཁͳ͍ lZOzͱ͍͏໊લͷϞδϡʔϧ͕͋Δ͜ͱΛ ఆٛ͢Δ Ϟδϡʔϧ㲈OQNQBDLBHF ZOͱ͍͏͕ؔ͋ͬͯɺҾΛͭऔΓɺ ΓCPPMFBOͰฦͬͯ͘Δ͜ͱΛ
ఆٛ͢ΔɻΈͰ+4%PD͚ΒΕΔɻ ZO͕FYQPSU͞Ε͍ͯΔ͜ͱΛఆٛ͢Δ JNQPSUͨ࣌͜͠ͷؔΛ͑Δͱ͍͏ఆٛ
ܕఆٛΛॻ͍ͨΑʂ ఆٛͨ͠Ҿͱܕͷใ͕ิ͞ΕΔ Ҿͷܕͱ߹Θͳ͍߹ Τϥʔͱͯ͠ݕ͞ΕΔΑ͏ʹͳΔ
͠ܕఆ͕ٛͳ͔ͬͨΒʁ wʲύλʔϯʳBOZܕͰಀ͛Δʂ wBOZܕͰ͍͔ͳΔܕڐ༰ͯͦ͠ͷ෦͚ͩΛᛉΔύλʔϯ w͕࣌ؒͳ͍߹ɺܕఆٛΛॻ͘͜ͱʹਫ਼௨ͯ͠ͳ͍߹༗ޮ
BOZܕͰಀ͛Δύλʔϯ ܕ໊ ྫ 4USJOH จࣈྻܕ l)FMMPXPSMEz /VNCFS ܕ #PPMFBO
ೋܕ USVF GBMTF "SSBZ5 ྻܕ <lBz lCz lDz>"SSBZTUSJOH /VMM OVMMܕ OVMM "OZ BOZܕ ҙͷܕΛڐ༰͢Δܕ w 5ZQF4DSJQUʹԼهͷΑ͏ͳܕ͕͋Δ Ұ෦ൈਮ
BOZܕͰಀ͛Δύλʔϯ ܕ໊ ྫ 4USJOH จࣈྻܕ l)FMMPXPSMEz /VNCFS ܕ #PPMFBO
ೋܕ USVF GBMTF "SSBZ5 ྻܕ <lBz lCz lDz>"SSBZTUSJOH /VMM OVMMܕ OVMM "OZ BOZܕ ҙͷܕΛڐ༰͢Δܕ w 5ZQF4DSJQUʹԼهͷΑ͏ͳܕ͕͋Δ Ұ෦ൈਮ
BOZܕͰಀ͛Δύλʔϯ w BOZܕจࣈ௨ΓͳΜͰ͋Γͷܕ จࣈྻͰɺͰɺVOEFpOFEͰ w $$ ͷWPJE (PͷJOUFSGBDF\^ʹ͍ۙ֓೦ w
ܕఆٛͷແ͍ϥΠϒϥϦ·Δ͝ͱBOZܕͱ͢ΕίϯύΠϧΛ௨͢͜ͱ͕Ͱ͖Δ w BOZܕʹͳͬͨͷܕͷ੍Λ֎ΕΔ w ܕͷ੍Λ֎ΕΔͷͰίϯύΠϥʹࢧԉͯ͠Β͑ͳ͘ͳΔ w ۭ͍ͨ࣌ؒͰ͏ൣғ͚ͩͰܕఆٛΛॻ͘ͷ͕͓͢͢Ίʂ
ͪΐͬͱͣͭ͡ΊΔ 5ZQF4DSJQU
Ͳ͏ͬͯಋೖ͢Δ͔ʁ w5ZQF4DSJQU͕ྑ͍ͷΘ͔͚ͬͨͲͲ͏ͬͯಋೖ͢Δͷʁ w ͢ͰʹK2VFSZͰॻ͍ͨίʔυ͕ͨͬΓ͋ΔΜ͚ͩͲʜ w શ෦5ZQF4DSJQUʹ͠ͳ͍ͱͩΊͳΜͰ͠ΐʁ w#BCFM͑ͳ͍ͷʁ w 1SPNJTFͱ͔BTZODBXBJU w
ڧྗͳ#BCFMϓϥάΠϯ ܕͱ͔Ͳ͏Ͱ͍͍͔Β ࣮ͤͯ͞ʜ
طଘͷίʔυʹগͮͭ͠ೖΕ͍ͯ͘ w5ZQF4DSJQU+BWB4DSJQUͷʮεʔύʔηοτʯ wཧΤϥʔΛؚ·ͳ͍ݶΓɺ֦ுࢠΛม͑Δ͚ͩͰίϯύΠϧͰ͖Δ w%FpOJFUMZ5ZQFEͰެ։͞Ε͍ͯΔܕఆٛͬͯɺ ঃʑʹॻ͍͍ͯ͘ͷ͕खܰͰखݎ͍ w ٧·ͬͨΒʮͱΓ͋͑ͣBOZܕΛͬͯΈΔʯͱ͍͏ΓํΞϦ w5ZQF4DSJQU͔Β+BWB4DSJQUΛJNQPSUͯ͠͏͜ͱͰ͖Δ w5ZQF4DSJQUΛͱΓ͋͑ͣೖΕͯΈΔ͚ͩͳΒ͙͢ʹͰ͖Δʂ
+4͔Β54ͷҠߦྫ w ΄ͱΜͲॻ͖͑ͣʹҠߦ͢Δ͜ͱ͕Ͱ͖ͨ Ұ෦ྫ֎͋Γ w Ҡߦͷ్தͰEPDVNFOUHFU&MFNFOU#Z*Eͷ݁Ռ͕OVMMʹͳΓ͏Δͱ͍͏ ߟྀ͕ൈ͚͍ͯΔ͜ͱΛݕͨ͠ͷͰमਖ਼ͨ͠ Γ͕)5.-&MFNFOUPSOVMMͷͨΊͦͷ··ͩͱίϯύΠϧΤϥʔʹͳΔ
#BCFMͲ͏͢Δʁ w5ZQF4DSJQUͰ࣮ߦڥΛࢦఆͯ͠ίϯύΠϧ͢Δ͜ͱ͕Ͱ͖Δ w &4&4ɺ&4/FYU&4ͳͲະདྷͷػೳΛݱࡏʹ࣋ͪࠐΊΔ w 1SPNJTFɺ"TZOD"XBJUͳͲͷओཁͳػೳΛτϥϯεύΠϧ͢ΔͨΊʹ #BCFMΛಋೖ͍ͯ͠ΔͳΒ5ZQF4DSJQU#BCFMͷ্ҐޓͱͳΓಘΔ w "TZOD"XBJUͷ&4ͷίϯύΠϧ5ZQF4DSJQUͰରԠࡁΈ w
ͦͷଞͷ࣍ੈͷ&$."4DSJQUͷҰ෦ઌߦ࣮ͷαϙʔτ͞Ε͍ͯΔ ˞#BCFMʜ+4ͷະདྷͷػೳΛݱࡏ͋ΔػೳͰ࠶ݱ͢ΔͨΊͷπʔϧ ˞&$."4DSJQUʜ+BWB4DSJQUͷඪ४༷ɻίίͰʮ͍ΘΏΔ+4ͷ͜ͱʯ͘Β͍ͷೝࣝͰ0,
#BCFMͲ͏͢Δʁ w#BCFM1PMZpMMͷΑ͏ͳ࣮ߦڥͷࠩΛຒΊΔػೳଘࡏ͠ͳ͍ w ͔͠͠ͳ͕Β#BCFMͱͷซ༻ࣗମՄೳ w ซ༻͢Δͱ5ZQF4DSJQUͷίϯύΠϧͱ#BCFMͷτϥϯεύΠϧͰ ഒ͕͔͔࣌ؒΔͷͰ͓͢͢Ί͠ͳ͍ w Ͳ͏ͯ͠ඞཁͳΒ#BCFM1PMZpMMΛผ్ಡΈࠐΜͰซ༻͢Δͷ͕ྑͦ͞͏ wݴޠػೳΛେ͖͘ม͑ΔΑ͏ͳ#BCFMϓϥάΠϯͷΑ͏ͳػೳແ͍
w &$."4DSJQUඪ४ͷ"1*͕ॆ࣮͖͍ͯͯ͠ΔͷͰΓସ͑Λݕ౼͢ΔͳͲ
ͪΐͬͱͣͭ͡ΊΔ54·ͱΊ w5ZQF4DSJQUͷҠߦͦΜͳʹ͍͜͠ͱͰͳ͍Α w +BWB4DSJQUͷεʔύʔηοτͳͷͰߏจ্ҐޓʹͳΔ w ͨ͘͞ΜͷܕఆٛϑΝΠϧ͕ఏڙ͞Ε͍ͯΔ w Ҡߦͯ͠Δ్தͰؾ͖͕ͮ͋Δ͔ʁ w#BCFMΛߴʹ༻͍ͯ͠Δͱ͖ҙͯ͠Ͷ w
Ұ෦ͷ৽͍͠ػೳΛ͍͍͚ͨͩͳΒ#BCFMෆཁ͔ʁ
ͱ͍͏Θ͚Ͱʜ
ܕγεςϜͰखݎ͍։ൃ ͡ΊͯΈ·ͤΜ͔ʁ
ܕ͍͍ͧ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠