我爱编程

学习typescript 1

2018-07-23  本文已影响21人  淡然7698
#!/usr/bin/env ts-node
{
  function createPrefix(n: number) {
    return "----".repeat(n);
  }
  class Person {
    public children: Person[] = [];
    constructor(public name: string) {}
    sayHi() {
      console.log("大家好我是" + this.name);
    }
    addChild(child: Person): void {
      this.children.push(child);
    }
    introduceFamily(n: number = 1): void {
      // n = n || 1;
      console.log(`${createPrefix(n - 1)}${this.name}`);
      this.children.forEach(child => {
        child.introduceFamily(n + 1);
      });
    }
  }

  let grandPa = new Person("王麻子");
  let child1 = new Person("王子");
  let child2 = new Person("王大锤");
  let person11 = new Person("王毛");
  let person12 = new Person("王水");
  let person21 = new Person("王农药");
  let person22 = new Person("王荣药");

  grandPa.addChild(child1);
  grandPa.addChild(child2);
  child1.addChild(person11);
  child1.addChild(person12);
  child2.addChild(person21);
  child2.addChild(person22);
  grandPa.introduceFamily();
}

知识点
1 n?: number 可选参数
2 class 类

上一篇 下一篇

猜你喜欢

热点阅读