TypeScript 1.3

Protected

クラスに新しく追加されたprotected修飾子は、C ++、C#、Javaなど、慣れ親しんだ言語のものと同じように機能します。 クラスのprotectedメンバは、それが宣言されているクラスのサブクラスの内部でのみアクセス可能になります。

class Thing {
  protected doSomething() { /* ... */ }
}

class MyThing extends Thing {
  public myMethod() {
    // OK、サブクラスからprotectedメンバにアクセス可能です
    this.doSomething();
  }
}
var t = new MyThing();
t.doSomething(); // エラー、外部クラスからprotectedメンバは呼び出せません

タプル型

タプル型は、特定の要素の型が判明している配列を表しますが、同じ値である必要はありません。 例えば、位置0にstringを、位置1にnumberを指定して配列を表すことができます。

// タプル型を宣言
var x: [string, number];
// 初期化
x = ['hello', 10]; // OK
// 間違った初期化
x = [10, 'hello']; // Error

既知のインデックスを持つ要素にアクセスすると、正しい型が取得されます。

console.log(x[0].substr(1)); // OK
console.log(x[1].substr(1)); // Error, 'number' does not have 'substr'

TypeScript 1.4では、既知のインデックスの範囲外の要素にアクセスすると、 代わりに共用体型(Union Type)が使用されることに注意してください。

x[3] = 'world'; // OK
console.log(x[5].toString()); // OK, 'string'と'number'はどちらもtoStringを持ちます
x[6] = true; // Error, booleanはnumberでもstringでもありません

 Back to top

© https://github.com/Microsoft/TypeScript-Handbook

このページは、ページトップのリンク先のTypeScript-Handbook内のページを翻訳した内容を基に構成されています。 下記の項目を確認し、必要に応じて公式のドキュメントをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • ドキュメントの情報が古い可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報やより分かり易くするための追記を行っている事があります。