TypeScriptの基礎的な知識(tsconfigやクラス)について学ぶ
学んだこと
nolmplicitAny
- 暗黙的な Any 型を許容するかどうかの設定
strictNullChecks
- null を含むかどうかの設定
- 通常型宣言を行う際、null も含まれている。
- false にすると、null が入らなくなる。
// trueだとOK
// falseだとNGになる
let val: string = null
strictBindCallApply
- bind,call,apply の型チェックを厳しくする設定
- call
- 関数を任意の this を指定して即座に呼び出すためのメソッド
function echo(message: string): string | null {
return message
}
echo.call()
きれいな Code を書くために必要な設定
- noUnusedLocals
- 宣言したローカル変数が使われていない場合、コンパイル時エラーを出す設定
- グローバル変数は管轄外
- unUnusedParameter
- 宣言した関数の引数が使われていない場合、コンパイル時エラーを出す設定
- unImplicitReturn
- 暗黙的な return を許容しない設定
- return を明示的に行わなければいけない
forceConsistentCasingInFileNames
- ファイルの大文字小文字を区別する設定
isolatedModules
- TS ファイルを独立したファイルとみなし、解釈できないコードがあった場合エラーを出す設定
- tsc 以外の方法で変換すると一部コードが正しく解釈されない可能性がある
skipLibCheck
- 他のライブラリの型チェックを検査するかどうかの設定
extends
- 別の設定ファイルを指定することができる
- 指定したファイルの設定を引き継ぐ事ができる
Projects
- TS のプロジェクトを複数管理するときに使われる
クラスの書き方
- 書き方自体は他の C++や C#での書き方とにている
- コンストラクタ関数はクラス名ではなく Constructor と書く
// 宣言
class Person{
// メンバ変数
name: string
// 初期化関数
constructor(initName: string){
// thisはクラスのオブジェクト
this.name = initName
}
}
// インスタンス作成
const quill = new Person("Quill");