- 現在との差分 を表示
- ソース を表示
- TypeScriptのClass へ行く。
1: 2016-03-10 (木) 10:05:17 njf | 2: 2016-03-10 (木) 11:39:13 njf | ||
---|---|---|---|
Line 8: | Line 8: | ||
class TestClass{ | class TestClass{ | ||
- | prm1:number | + | prm1:number; |
constructor(arg:number){ | constructor(arg:number){ | ||
Line 28: | Line 28: | ||
class TestClass{ | class TestClass{ | ||
- | prm1:number | + | prm1:number; |
constructor(arg:number){ | constructor(arg:number){ | ||
Line 52: | Line 52: | ||
testExtended.showNumber(); // => 3です | testExtended.showNumber(); // => 3です | ||
+ | *アクセス修飾子 [#e79aed65] | ||
+ | アクセス修飾子は「public」と「private」がある。省略したときはpublicが採用される。 | ||
+ | publicはどこからでもアクセス可能で、privateはそのクラスの中からのみアクセス可能。privateを指定すると継承したクラスからもアクセスできない。たとえば上の例で | ||
- | *アクセス修飾子 [#e79aed65] | + | 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です | ||
+ | |||
+ | |||
+ | (この記事は制作中です) |
- TypeScriptのClass のバックアップ一覧
- TypeScriptのClass のバックアップ差分(No. All)
- 1: 2016-03-10 (木) 10:05:17 njf
- 2: 2016-03-10 (木) 11:39:13 njf
- 現: 2016-03-12 (土) 21:05:08 njf
ぺージ情報 | |
---|---|
ぺージ名 : | TypeScriptのClass |
ページ別名 : | 未設定 |
ページ作成 : | njf |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
Counter: 1949,
today: 1,
yesterday: 1