Skip to content
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

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