技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

TypeScript

エラー解消法_Property '…' has no initializer and is not definitely assigned in the constructor【TypeScript】

TypeScriptで、Property '…' has no initializer and is not definitely assigned in the constructorのエラー、つまり初期化されていない、というエラーが発生する場合、tsconfig.jsonに下記を記述をするとエラーが解消されます。 "strictPropertyInitializ…

脱構造化【TypeScript】

構造化された内容を変数に展開します。 let person = { nickname: "Mike", like: "Cat" }; let {nickname, like} = person; console.log(nickname, like) // Mike, Cat 配列を展開することもできます。 let array = [1, 2]; let [numA, numB] = array; conso…

アロー関数式とthis【TypeScript】

TypeScriptでもアロー関数式を使うことができます。 function helloA(): () => string { return () => {return "Hello, world"}; } function helloA(): () => string { return () => "Hello, world"; } class定義のメンバメソッドについて、アロー関数式と通…

namespace【TypeScrypt】

名前空間を区切ることができます。namespace内で定義したものは、exportを記述しない限り、外部から参照することができません。また、必ずnamespace名を経由する必要があります。 namespace sampleA { export var str = "string"; } console.log(sampleA.str…

構造的部分型【TypeScript】

ダックタイピングのようなものです。構造が一致するならば、異なる型であっても同じようなものとして扱うことができます。 class Options { sync: boolean; constructor(){ this.sync = true; } } class Options2 { constructor(public sync?: boolean, name…

引数【TypeScript】

可変長引数 スプレッド演算子を使って表現します。型は要素の型(stringなど)の配列型([])を記述します。 function hello(...words: string[]): string { return "Hello, " + words.join(" and "); } console.log(hello("Mike", "Chang", "Bob"); // Hell…

ジェネリクス(総称型)【TypeScript】

TypeScriptは、型をパラメータ化するジェネリクスをサポートしています。 下記は型変数Tを使ってジェネリクスを表現した関数です。引数と返り値にTが適用されます。 function identity<T>(arg: T): T { return arg; } 引数だけを考えれば、any型と同じですが、</t>…

型【TypeScript】

TypeScriptの基本型には次の3つがあります。 number string boolean 型宣言をするときは「: 型名」というように型アノテーションを用います。 変数 var 変数名: 型名 関数 function 関数名(引数名: 引数の型): 関数の返り値の型{} 返り値を持たない関数は、…

TypeScriptとは【TypeScript】

TypeScriptはMycroSoftによって開発・メンテナンスされるオープンソースののプログラミング言語です。その特徴は次の3点で表されます。 Javascriptと互換性のあるスーパーセット 静的型付け クラスベースオブジェクト指向 TypeScriptによるソースコードは、…