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
Vue.jsでTypeScriptを使ってみる
Search
Takayuki
October 25, 2019
Technology
0
210
Vue.jsでTypeScriptを使ってみる
Vue.jsでTypeScriptを使ってみる
Takayuki
October 25, 2019
Tweet
Share
More Decks by Takayuki
See All by Takayuki
エンジニアのキャリア論
bumptakayuki
0
130
地方カンファレンス主催のススメ
bumptakayuki
1
170
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
1
890
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
570
沖縄観光、名物を一挙紹介!
bumptakayuki
2
580
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.1k
flutterでイベントアプリを作ってみた
bumptakayuki
0
130
オフショア開発の辛みと学んだ事
bumptakayuki
0
360
ChatGPTにStripeのサンプルコードを書かせてみた
bumptakayuki
1
190
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
[TechNight #86] Oracle GoldenGate - 23ai 最新情報&プロジェクトからの学び
oracle4engineer
PRO
1
170
(Simutrans) 所要時間ベース経路検索のご紹介
teamhimeh
0
100
20250129 Findy_テスト高活用化
dshirae
0
230
Oracle Cloud Infrastructure:2025年1月度サービス・アップデート
oracle4engineer
PRO
0
200
20250125_Agent for Amazon Bedrock試してみた
riz3f7
2
110
“自分”を大切に、フラットに。キャリアチェンジしてからの一年 三ヶ月で見えたもの。
maimyyym
0
300
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
200
BLEAでAWSアカウントのセキュリティレベルを向上させよう
koheiyoshikawa
0
130
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
340
もし今からGraphQLを採用するなら
kazukihayase
9
4.2k
AIエージェントについてまとめてみた
pharma_x_tech
10
7.2k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
It's Worth the Effort
3n
184
28k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Building Applications with DynamoDB
mza
93
6.2k
Facilitating Awesome Meetings
lara
51
6.2k
Documentation Writing (for coders)
carmenintech
67
4.6k
Optimizing for Happiness
mojombo
376
70k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
KATA
mclloyd
29
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
990
Six Lessons from altMBA
skipperchong
27
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Transcript
Vue.jsでTypeScriptを使ってみる 鈴木孝之
"HFOEB ࣗݾհɾձࣾհ 5ZQF4DSJQUͱʁ 7VFKTͰͷಋೖํ๏
ࣗݾհɾձࣾհ
1.ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹಠཱɻ
ɾݱࡏɺडୗ։ൃΛΓͭͭɺࣗࣾWebαʔϏεΛ։ൃதɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ઓ ◆εΩϧ PHP,Symfony2,CakePHP3,Laravel5, JavaScript,backbone.js,Angular.js
1.ࣗݾհ
Copyright Re:Build.inc All Rights Reserved. ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ̍̒−̕
◆ࣄۀ༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 7໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
5ZQF4DSJQUͱʁ
5ZQF4DSJQUͱʁ TypeScript2012ʹϚΠΫϩιϑτʹΑͬͯ։ൃ͞ΕͨΦʔϓϯιʔεͷϓϩ άϥϛϯάݴޠͰJavaScriptͷεʔύʔηοτʢ্ҐޓʣͳҐஔ͚ͮͷݴޠͰ ͢ɻ มαϒϧʔνϯΛ҆શʹѻ͑Δ੩తܕ͖ݴޠͰ͋Δ͜ͱΫϥεΛ༻Ͱ ͖ΔͳͲJavaScriptͷܽΛิ͢Δ͜ͱΛతͱͯ͠։ൃ͞Ε·ͨ͠ɻ TypeScriptΫϥΠΞϯταΠυɾαʔόʔαΠυ྆ํͷ։ൃͰར༻͢Δ͜ͱ͕ ՄೳͰɺେنͳΞϓϦέʔγϣϯ։ൃΛߦ͏͜ͱ͕ՄೳͰ͢ɻ https://www.engineer-route.com/column/2679/
ϝϦοτɾಛ TypeScriptΛಋೖͨ͠ํ͕ྑ͍έʔε ιʔείʔυ͕େͰ ͋Δ߹ɺ·ͨෳͷ ਓ͕ϓϩδΣΫτʹै ࣄ͍ͯ͠Δ߹ɺܕγ εςϜ໌Β͔ͳΤϥʔ Λ͙ͷʹཱͪ·͢ɻ 1 νʔϜϝϯόC#
JavaͷΑ͏ͳڧ͍ܕ͖ ݴޠͷόοΫάϥϯυ Λ࣋ͪɺJavaScriptΛͱ ͜ͱΜֶͿؾͳ͍ͱ͍ ͏߹ɺTS͍͍ସ ҊͩͱࢥΘΕ·͢ɻ 2 TypeScriptΫϥεϕʔεͳ ݴޠͷͨΊɺJavaͳͲͷΦϒ δΣΫτࢦݴޠಉ༷Ϋϥε Λѻ͏͜ͱ͕Ͱ͖·͢ɻ ίϯετϥΫλɺϝιουɺ ϓϩύςΟͳͲͷϝϯόΛѻ ͏͜ͱͪΖΜՄೳͰ͢ɻ 3 ίʔυαΠζ ϝϯόʔͷաڈͷܦݧ Ϋϥεϕʔεͳݴޠ https://postd.cc/when-should-i-use-typescript/
䡧ಠࣗ ɾܕऍʢมɺҾɺΓͳͲͷܕએݴʣͱ ίϯύΠϧ࣌ͷܕνΣοΫ ɾܕਪ, ܕΨʔυ - ifจͷ instanceof ͳͲΛར༻ ͨ͠ܕਪ
ɾΠϯλʔϑΣΠε ɾྻڍܕ FOVN ɾMixin ɾδΣωϦοΫ ɾ໊લۭؒ ɾλϓϧ ɾڞ༻ମܕ ɾܕΤΠϦΞε ϝϦοτɾಛ
7VFKTͰͷಋೖํ๏
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ vue-cli Λར༻͢Δʹ node.js ΛΠϯετʔϧͯ͠ npm Λར༻ͯ͠ vue-cli ΛΠϯετʔϧ͠·͢ɻ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ ϓϩδΣΫτ vue create ίϚϯυͰ࡞͠·͢ɻ ίϚϯυ vue create <project-name>
Ͱࢦఆ͠·͢ɻ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ Typescript Λར༻͢ΔͨΊ ʹ Manually select features Λબ͠·͢ɻ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ Πϯετʔϧޭʂ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ ىಈʂ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7
ॻ͖ํ ɾ.vueϑΝΠϧͰ<script lang="ts">Λ͏ ɾvue-property-decoratorΛͬͨσίϨʔλํࣜͷTypeScript ԽΛߦ͏
ҧ͍ JS TypeScript
ը໘͔Βͷ ೖग़ྗͷܕΛ ୲อ 7VFKTͩͱԿ͕خ͍͠ͷ͔ʁ APIΛୟ͘ࡍͷೖग़ྗ ͷܕΛ୲อ
·ͱΊ ɾιʔείʔυ͕େͰ͋Δ߹ɺ·ͨෳͷਓ͕ϓϩδΣΫτʹैࣄ ͍ͯ͠Δ߹ɺTypeScriptΛ͏ར͕͋Δɻ ɾνʔϜϝϯόC#JavaͷΑ͏ͳڧ͍ܕ͖ݴޠͷόοΫάϥϯ υΛ͍࣋ͬͯΔ߹ɺTS͍͍ͱࢥ͍·͢ɻ ɾ։ൃεϐʔυΛগ͠མͱͯ͠ݎ࿚ʹ࡞Γ͍ͨ߹Φεεϝ