TypeScriptのインストール
npm install -g typescript
// 查看版本
$ tsc -v
Version 3.2.2
//将.ts文件转为.js
tsc test.ts
使用 node 命令来执行 test.js 文件
node test.js
TypeScript予約キーワード
ブレークステートメント
breakステートメントには次の2つの用途があります。
breakステートメントがループに現れると、ループはすぐに終了します。
これは、switchステートメントでケースを終了するために使用できます。
ネストされたループを使用している場合(つまり、あるループが別のループ内にネストされている場合)、breakステートメントは最も内側のループの実行を停止し、ブロックの後の次のコード行の実行を開始します。
break;
場合
switch ... caseステートメント
switchステートメントを使用すると、変数が複数の値に等しいかどうかをテストできます。各値はケースと呼ばれ、テストされる変数はスイッチケースごとにチェックされます。
switchステートメントの構文:
switch(expression){
case constant-expression :
statement(s);
break; /* 可选的 */
case constant-expression :
statement(s);
break; /* 可选的 */
/* 您可以有任意数量的 case 语句 */
default : /* 可选的 */
statement(s);
}
switchステートメントは、次のルールに従う必要があります。
switchステートメントの式は定数式であり、整数型または列挙型である必要があります。
スイッチには、任意の数のcaseステートメントを含めることができます。各ケースの後には、比較する値とコロンが続きます。
ケースの定数式は、スイッチ内の変数と同じデータタイプである必要があり、定数またはリテラルである必要があります。
テストされた変数がケースの定数と等しい場合、ケースに続くステートメントは、breakステートメントが検出されるまで実行されます。
breakステートメントが検出されると、スイッチは終了し、制御フローはswitchステートメントの後の次の行にジャンプします。
すべてのケースに休憩を含める必要はありません。caseステートメントにbreakが含まれていない場合、制御フローは、breakが発生するまで後続のcaseに続行されます。
switchステートメントには、スイッチの最後に表示されるオプションのデフォルトのケースを含めることができます。上記のいずれの場合も当てはまらない場合は、デフォルトのケースを使用してタスクを実行できます。デフォルトの場合のbreakステートメントは必要ありません。
静的
クラスの定義に使用されるデータメンバー(属性とメソッド)は静的であり、静的メンバーはクラス名で直接呼び出すことができます。
class StaticMem {
static num:number;
static disp():void {
console.log("num 值为 "+ StaticMem.num)
}
}
StaticMem.num = 12 // 初始化静态变量
StaticMem.disp() // 调用静态方法
instanceof演算子
instanceof演算子は、オブジェクトが指定されたタイプであるかどうかを判別するために使用され、そうである場合はtrueを返し、そうでない場合はfalseを返します。
class Person{
}
var obj = new Person()
var isPerson = obj instanceof Person;
console.log("obj 对象是 Person 类实例化来的吗? " + isPerson);
アクセス制御修飾子
TypeScriptでは、アクセス制御シンボルを使用して、クラス、変数、メソッド、およびコンストラクターへのアクセスを保護できます。TypeScriptは、3つの異なるアクセス権をサポートしています。
public(デフォルト):public、どこからでもアクセスできます。
保護:保護されており、それ自体とそのサブクラスおよび親クラスからアクセスできます。
private:プライベート。定義されているクラスからのみアクセスできます。
次の例では、2つの変数str1とstr2を定義しています。str1はパブリックでstr2はプライベートです。インスタンス化後、str1にアクセスできます。str2にアクセスする場合は、コンパイルエラーが発生します。
class Encapsulate {
str1:string = "hello"
private str2:string = "world"
}
var obj = new Encapsulate()
console.log(obj.str1) // 可访问
console.log(obj.str2) // 编译错误, str2 是私有的
クラスとインターフェースを実装します
interface ILoan {
//interface 用來定义接口
interest:number
}
class AgriLoan implements ILoan {
interest:number
rebate:number
constructor(interest:number,rebate:number) {
this.interest = interest
this.rebate = rebate
}
}
var obj = new AgriLoan(10,1)
console.log("利润为 : "+obj.interest+",抽成为 : "+obj.rebate )
名前名
TypeScriptでの名前空間の使用 名前空間 定義するための構文形式は次のとおりです。
namespace SomeNameSpaceName {
export interface ISomeInterfaceName {
}
export class SomeClassName {
}
}
上記は名前名SomeNameSpaceNameを定義しています。SomeNameSpaceNameのクラスとインターフェイスを外部から呼び出す必要がある場合は、クラスとインターフェイスを追加する必要があります。 書き出すキーワード。
別の名前名を呼び出すための構文形式は次のとおりです。
SomeNameSpaceName.SomeClassName;
名前名が別のTypeScriptファイルにある場合は、トリプルスラッシュ///で引用する必要があります。構文は次のとおりです。
/// <reference path = "SomeFileName.ts" />
TypeScriptモジュール
キーワードを使用したモジュールのエクスポート 書き出す キーワード、構文形式は次のとおりです。
// 文件名 : SomeInterface.ts
export interface SomeInterface {
// 代码部分
}
このモジュールを別のファイルで使用するには、次を使用する必要があります インポート インポートするキーワード:
import someInterfaceRef = require("./SomeInterface");
https://www.runoob.com/typescript/ts-install.htmlを参照してください