TypeScript 1.3
Protected
类中新的 protected 修饰符与 C++、C# 和 Java 等熟悉语言中的工作方式相同。类的 protected 成员仅在其声明的类的子类内部可见:
ts
class Thing {
protected doSomething() {
/* ... */
}
}
class MyThing extends Thing {
public myMethod() {
// 可以,可以从子类访问受保护成员
this.doSomething();
}
}
var t = new MyThing();
t.doSomething(); // 错误,无法从类外部调用受保护成员元组类型
元组类型表示一个数组,其中某些元素的类型是已知的,但不必相同。例如,你可能想要表示一个在位置 0 是 string 类型、位置 1 是 number 类型的数组:
ts
// 声明一个元组类型
var x: [string, number];
// 初始化它
x = ["hello", 10]; // 可以
// 错误地初始化它
x = [10, "hello"]; // 错误当访问具有已知索引的元素时,会获取正确的类型:
ts
console.log(x[0].substr(1)); // 可以
console.log(x[1].substr(1)); // 错误,'number' 没有 'substr'注意,在 TypeScript 1.4 中,当访问已知索引集之外的元素时,将使用联合类型:
ts
x[3] = "world"; // 可以
console.log(x[5].toString()); // 可以,'string' 和 'number' 都有 toString
x[6] = true; // 错误,boolean 不是 number 或 string