ページへ戻る
− Links
印刷
TypeScriptのClass
の編集 ::
NJF Wiki
xpwiki
:
TypeScriptのClass
の編集
TypeScriptのClass の編集
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
内容は公式ページとだいたい同じなので、そちらも参照のこと。 [[http://www.typescriptlang.org/Handbook]] *クラスの定義 [#b96dc364] TypeScriptではプロトタイプベースではない、Javaなどと同様のクラス定義が使える。 ただし、「this」は省略不可。コンストラクタはクラス名ではなく「constructor」。プロパティやメソッドの定義に「var」や「function」は不要。 class TestClass{ prm1:number; constructor(arg:number){ this.prm1 = arg; } showNumber():void{ alert(this.prm1 + "です"); } } var testClass:TestClass = new TestClass(2); testClass.showNumber();//=>2です *継承 [#i01186ac] extendsを使うと継承も可能。親クラスにはsuperでアクセス。子クラスのコンストラクタは処理が同じなら省略可能。 class TestClass{ prm1:number; constructor(arg:number){ this.prm1 = arg; } showNumber():void{ alert(this.prm1 + "です"); } } class TestExtended extends TestClass{ showNumber(){ this.prm1 ++; super.showNumber(); } } var testExtended:TestExtended = new TestExtended(2); testExtended.showNumber(); // => 3です *アクセス修飾子 [#e79aed65] アクセス修飾子は「public」と「private」がある。省略したときはpublicが採用される。 publicはどこからでもアクセス可能で、privateはそのクラスの中からのみアクセス可能。privateを指定すると継承したクラスからもアクセスできない。たとえば上の例で private prm1:number; とすると、継承したクラスでprm1にアクセスしているため、エラーが発生する。 **引数のアクセス修飾子 [#y3ce730b] アクセス修飾子をコンストラクタの引数で使うとクラスプロパティの初期化のシンタックスシュガーとなる。つまり class TestClass{ constructor(public prm1:number){ } } と class TestClass{ prm1:number; constructor(arg:number){ this.prm1 = arg; } は同じである。ただしコンストラクタ以外の引数でアクセス修飾子は使えない。 *アクセサー [#haa297e3] getやsetといったアクセサーが使える。ただし、ECMAScript 5でないと対応していないため、コンパイル時に設定が必要。また対応していないブラウザでエラーが出るかも。 tsc -t ES5 yourfile.ts 文法は以下の通り。 class TestClass{ private _prm1:number; get prm1():number{ return this._prm1; } set prm1(p:number){ this._prm1 = p; } showNumber():void{ alert(this.prm1 + "です"); } } var tc:TestClass = new TestClass(); tc.prm1 = 10; tc.showNumber() // => 10です *スタティック変数 [#b92a80f6] インスタンスではなく、クラスに属するスタティック変数を定義することもできる。 class TestClass1{ static prm:number = 1; showPrm(){ alert(TestClass1.prm); } } TestClass1.prm = 100; var tc:TestClass1 =new TestClass1(); tc.showPrm() // => 100
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「京都」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
添付ファイル
[2]
:
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=TypeScript%E3%81%AEClass
(This host)
/cms/modules/xpwiki/?plugin=attach&pcmd=list&refer=TypeScript%E3%81%AEClass