typescript中 modifiers: ?ASTModifiers是什么意思,查看typescript技术文档没看到这种语法

那些年少的伤寂静微凉 2021-04-02 10:49:38
图中的typescript语法,函数的返回值类型前面加问号是什么意思
?boolean和?ASTModifiers 这种语法不懂是啥意思,在typescsript技术文档中没有介绍
...全文
252 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好吧,谢谢你,过了一个假期还是没有搞懂确切具体的含义,也没有哪位确切了解的大神来解释下,按你的说法大概推测就是属于一种联合类型的语法
  • 打赏
  • 举报
回复
ASTElement和ASTModifiers都不是我加的呢,它本身就是这样写的,所以我才不懂,有疑惑,如果没有前面的?号,我知道那是标注函数的返回值类型为Boolean;就是前面加了?导致不解,typescript技术文档并没有这种语法介绍,只有定义类型接口时属性后面可以加?代表类型检查时,这个属性可有可无,像这种函数返回值类型标注前加?还有属性值类型前面加?号文档种实在没找到那种语法介绍,截图是vue框架的源码,指令directives里面的modal.js,所以可以保证肯定不是写错的原因
泡泡鱼_ 2021-04-03
  • 打赏
  • 举报
回复
你像这种看不明白函数参数,你把鼠标放在函数名称上,就知道那些参数都是些啥了
泡泡鱼_ 2021-04-03
  • 打赏
  • 举报
回复
刚开代码看了下 :?number 被解析的类型是的是number | null。它不像可选参数?: 表示的是 number | undefined。没用过:?这样子的方式
泡泡鱼_ 2021-04-02
  • 打赏
  • 举报
回复
typescript是强类型的。你说的这2个东西是指变量的数据类型,在你这里ASTModifiers指的是入参modifiers的对应数据类型;boolean指的是函数的返回类型为布尔值。它们前面的?号是你特意加上去表示是你的问题的吧???ASTElement和ASTModifiers都有地方定义的,可能是interface或者type都有可能 我们之前用js,都是直接申明变量 let a=1; const b='2'; 到ts中,就变成了 let a:number=1; let b:string='2' 当然,这种简单直接申明并赋初始值的,即使不申明数据类型也可以,因为可以“推断”出来。但你是函数的参数,你不写,函数内部是不知道的 以前申明一个函数 function func(){}即可 到ts中 function func():它所有可能返回的数据类型{ } 无返回,就void,数字就number……最偷懒就any;但不建议用any,失去了意义了;

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧