typescript 结合 vue 中 :! 是什么意思

最近在学习结合typescript开发vue,在github中看到这样地问题,一直无法理解

  private today!: {
    active: string[] | never[] | number[];
    finishedDate: string[] | never[];
    isReceived: boolean;
  };

  private title?: string;
  private num!: number;
  private isDone!: boolean;
  private isReceived!: boolean;
!: 是什么意思, 必选参数? 但是typescript文档没有这样的说法啊,不懂了,各种搜索找不到。

各位大神指点迷津

阅读 24.8k
3 个回答

分开看就好了

!是和?相对的,是typescript的语法,表示强制解析(也就是告诉typescript编译器,我这里一定有值)。你写?的时候再调用,typescript会提示可能为undefined

:是类型声明

好的,感谢。只是官方文档没找到,弄得我不是很确定,自己写了个demo直接报错,扎心

logo
Microsoft
子站问答
访问
宣传栏