• ~鸵鸟蛋~
    2019-12-29
    function area(s: Shape): number {
      switch(s.kind) {
        case 'square':
          return s.size * s.size
        case 'rectangle':
          return s.height * s.width
      }
    }
    老师,我指定了返回值类型之后还是没有错误提示啊
    展开

    作者回复: 增加Circle类型了吗?
    type Shape = Square | Rectangle | Circle;
    如果增加了,但没有计算面积的逻辑是会报错的。

    
    
  • 陆 慢 慢
    2019-12-23
    只能访问交集貌似说的不够严谨,通过类型保护 instanceof 判断后还是可以访问的
    function getPet(master: Master) {
      let pet = Master.Boy ? new Dog() : new Cat()
      
      if (pet instanceof Dog) pet.run()
      else pet.jump()
      
      pet.eat()
      return pet
    }
    展开

    作者回复: 在类型未确定的情况下,只能访问共有成员,instanceof 已经确定了类型。

    
    
  • 递归涛
    2019-11-21
    这节课和之前的类型保护好像也差不太多啊
    
    
  • 乃乎
    2019-11-17
    这个 default 好
    
    
  • Hurry
    2019-08-01
    交叉类型和类型之间继承,是不是效果是一样的

    作者回复: 继承可以有自己的属性,交叉不可以。

    
    
我们在线,来聊聊吧