Vue3和TS写法问题?

作者站长头像
站长
· 阅读数 7

24行代码为什么需要this,不用this有啥区别Vue3和TS写法问题?

13行代码 为什么用的是 implements呢? Busclass又不是接口,是TS的特殊写法吗?Vue3和TS写法问题?

回复
1个回答
avatar
test
2024-07-06

先回答 24 行,用不用 this 问题都不大。

对于使用方来说,想用 this ,那么必定是箭头函数,apply 也改不了。如果不想用this,那么改不改都一样。


13 行,就是 ts 的特性了,支持这样写。

answer image

但是如下这种就不太好使


type Pingable3 = {
  ping: (text: string) => void;
} |  {
  ping2: (text: string) => void;
}
 
class Sonar6 implements Pingable3 {
}

answer image


测试代码

interface Pingable {
  ping(text: string): void;
}
type Pingable1 = {
  ping: (text: string) => void;
}
 

//  
class Sonar implements Pingable {
  ping() {
    console.log("ping!");
  }
}
class Sonar1 implements Pingable {
}
class Sonar2 implements Pingable1 {
}
class Sonar3 implements Pingable1 {
  ping() {
    console.log("ping!");
  }
}
class Sonar4 implements Pingable1 {
  ping(text: string) {
    console.log("ping!", text);
  }
}



type Pingable3 = {
  ping: (text: string) => void;
} |  {
  ping2: (text: string) => void;
}
 
 type Pingable4 = {
  ping: (text: string) => void;
} &  {
  ping2: (text: string) => void;
}
class Sonar6 implements Pingable3 {
}
class Sonar7 implements Pingable4 {
  ping(text: string) {
    console.log("ping!", text);
  }
  ping2(text: string) {
    console.log("ping!", text);
  }
}
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容