参考になる記事
早く理解したい方は、下記の記事と Udemy を使って最速で学習しましょう!
TypeScriptの型入門 - Qiita
超TypeScript入門 完全パック(2020) | Udemy
随時更新していきます!!
[TODOリスト]
- interface
- implements
- デコレータ
変数
consttext:string="text"// リテラル型constlite:'foo'='foo';// 'foo' しか入れることができない// Union型constunion:string|undefined="union"関数
// 引数 返り値 の順で実装functionmethod(arg:string):number{returnNumber(arg);}void
返り値が存在しない場合に voidを使用します。
functionmethod():void{console.log('hello');}static
- インスタンスを生成せず、呼び出すことが可能
- インスタンスを生成していないので、this は使用できない
statichandleSomething(event:any)=>{// 処理}クラス
abstract
- abstract class はインスタンスを生成することができない
abstractclassPerson{// 継承先に explainJob メソッドがいることを保証するabstractexplainJob():void;}// 継承先classEngineerextendsPerson{explainJob(){// 処理}}アクセスレベル
public
- 何も書かない場合と同じなので、基本的に宣言しなくて良い
protected
TODO
protected
- static と private の間
- クラス、継承先では使用できるが、外部では使用できない
ジェネリクス
引数に型を指定することができます。
こうすることで、柔軟な関数やクラスを作成することができます。
functioncopy<T>(value:T):T{returnvalue}console.log(copy<string>('hello'))tfconfig
include
どのファイルをコンパイルするのかを指定します。
"include":["**/*.ts"]exclude
特定のTypeScriptのファイルを除くかを指定します。
"exclude":["node_modules","mock"]lib
型の定義
空であれば targetによって勝手に値を変えてくれます。
"target":"es6",// es6 の場合は、下記4つが入ることになります。"lib":["es6","DOM","DOM.Iterable","ScriptHost"],sourceMap
ブラウザでTypeScriptを理解できるようにする設定します。
主にブラウザに source にTypeScriptを表示させ、デバッグしたい時に使用します。
Node と TypeScript
準備
インストール
npm install typescript --save-devnpm install @types/node --save-dev
tsconfig.jsonの初期化
npx tsc --init --rootDir src --outDir lib --esModuleInterop --resolveJsonModule --lib es6,dom --module commonjs
参考記事
Node.js & TypeScriptのプロジェクト作成 - TypeScript Deep Dive 日本語版
TypeScript + Node.js プロジェクトのはじめかた2020 - Qiita
Node.js(TypeScript)を食わず嫌いしてる人にオススメするときに役立ちそうな知見まとめ - Qiita
外部モジュール読み込み方
Typescriptの内部・外部moduleの使い方 - Qiita