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

那些年少的伤寂静微凉 2021-04-02 10:49:38
图中的typescript语法,函数的返回值类型前面加问号是什么意思
?boolean和?ASTModifiers 这种语法不懂是啥意思,在typescsript技术文档中没有介绍
...全文
266 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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,失去了意义了;
内容概要:本文档详细介绍了 TypeScript 的类特性,涵盖了从基本概念到高级特性的广泛主题。首先解释了类的基本语法,包括属性及其初始化方式。强调了如何使用 tsconfig. 配置严格属性初始化以确保类的完整性和可靠性。进一步探讨了各种属性修饰符的作用,如可选、只读以及公共/私有/保护属性,这些修饰符帮助开发者更好地控制数据的安全性和可见性。同时深入讲解了继承机制,在 TypeScript 如何利用 extends 关键字建立父子类间的关系,并允许子类重载父类的方法与属性而不需要担心类型不一致的问题。针对抽象类的独特之处——不能直接被实例化却能强制子类实现某些特定的功能接口进行了详细的剖析。最后介绍了一种类相对特殊但极其有用的概念叫作静态成员,它们不属于任意对象而是属于整个类本身,可用于存储共享状态或者提供全局级别的行为方法。 适用人群:适用于有一定 JavaScript 和 OOP 基础并对TypeScript感兴趣的初级至级软件工程师。 使用场景及目标:通过这份材料的学习能够使读者掌握在现代 Web 应用程序构建复杂业务模型的能力。无论是创建模块化的组件架构还是管理应用程序的状态流动都将是轻松的事情。同时也能提高对大型项目的理解力和支持复用的编码实践。 其他说明:建议先掌握 TypeScript 的基础语法和其他进阶知识点比如泛型后再开始学习这部分知识。此外对于那些希望从纯函数式的编程风格转向混合面向对象和函数式的混合风 格的人来说这也是一个很好的学习切入点。由于 TypeScript 具备与 JS 生态系统的完美融合能力所以这里提供的案例均能在实际工作得到应用并促进效率提升.

87,997

社区成员

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

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