玩转 Vue 3 全家桶
大圣
前百度前端架构师
38321 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
玩转 Vue 3 全家桶
15
15
1.0x
00:00/00:00
登录|注册

14 | TypeScript:Vue 3中如何使用TypeScript?

可维护性和开发效率提高
错误提前识别
接口规范
变量类型限定
TypeScript和JavaScript的关系
Vue 3中的TypeScript使用
TypeScript的使用
JavaScript作为前端语法标准
TypeScript的发展和浏览器支持
TypeScript和JavaScript并不对立
TypeScript是JavaScript的超集
vue-router的类型
响应式类型
Props声明类型
类型推导
<script setup>语法
Composition API
优势
强类型语言环境
超集
思考题
总结
TypeScript和JavaScript的平衡
Vue 3中的TypeScript
TypeScript
TypeScript:Vue 3中如何使用TypeScript?
参考文章

该思维导图由 AI 生成,仅供参考

你好,我是大圣。
在上一讲中,我为你介绍了 Vue 中的 JSX,以及 template 和 JSX 各自的优缺点。就像在上一讲中我提到的 template 牺牲灵活性换来了静态标记的收益,你能看到:有些时候,我们需要放弃一些灵活性去换取项目的整体收益。那么在这一讲中,我会给你介绍一个可以在语言层面上,提高代码可维护性和调试效率的强类型语言——TypeScript。
在整体上,我们的课程还是以使用 JavaScript 为主。对于 TypeScript 的内容,我会在这一讲中先带着你入门。下面,我会先讲一下 TypeScript 的入门知识 ;然后作为巩固,我会带你在 Vue 3 里再实战一下 TypeScript;最后,我会对 TypeScript 和 JavaScript 这两者做一个对比分析,让你明白如何在这两者之间做一个更好的平衡。

什么是 TypeScript

TypeScript 是微软开发的 JavaScript 的超集,这里说的超集,意思就是 TypeScript 在语法上完全包含 JavaScript。TypeScript 的主要作用是给 JavaScript 赋予强类型的语言环境。现在大部分的开源项目都是用 TypeScript 构建的,并且 Vue 3 本身 TS 的覆盖率也超过了 95%。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Vue 3中如何使用TypeScript TypeScript在Vue 3中的应用是前端开发的重要利器。它为JavaScript赋予了强类型的语言环境,通过类型系统提供更健壮的前端应用开发支持。Vue 3本身TS的覆盖率超过了95%,并且在Vue 3源码中也使用了TypeScript,使得代码阅读和调试更加顺畅。TypeScript还支持泛型和递归类型等高级用法,可以根据输入类型动态设置函数返回值类型,实现更复杂的类型组合。在Vue 3中,使用TypeScript可以提高代码质量和开发效率。在\<script setup>环境下,Vue已经把对TypeScript的支持封装得很好了,这样ref和reactive可以很好地实现类型推导,我们只需要定义好项目中使用变量的格式即可。同时,vue-router和Vuex也提供了自己的TypeScript类型系统,比如我们可以引入vue-router的RouterViewRecord类型去限制我们书写路由的格式。总的来说,TypeScript的应用使得在Vue 3中的开发更加高效和可维护。 TypeScript和JavaScript的平衡 TypeScript引入的强类型系统带来了可维护性较好、调试较为方便的好处。但是,TypeScript和JavaScript并不是完全对立的关系,学习TypeScript和JavaScript不是二选一的关系。TypeScript最终还是要编译成为JavaScript,并在浏览器里执行。所以我们的核心还是要掌握JavaScript,在这个基础之上,无论是框架,还是TypeScript类型系统,我们都将其作为额外的工具使用,才是我们最佳的选择。 思考题 了解了TypeScript的使用后,可以回想一下Vue 2里有哪些写法是对TypeScript不友好的,以及我们应该怎么在Vue 3优化。欢迎你在评论区留言分享,也欢迎你把这一讲的内容分享给你的同事和朋友。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《玩转 Vue 3 全家桶》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(45)

  • 最新
  • 精选
  • ll
    几节课学下来,发现工程就是“灵活与稳定”之间的平衡。 上节是 template 与 JSX 各自的优缺点,实际上也能看出各自设计对“灵活”与“稳定”的取舍。我非专业转行,对于类型系统有点学习体会: 1. 动态 vs 静态语言 从运行过程上说,动态比较简单,你写代码,然后丢给解释器运行,如果出错,就会报运行时错误 (runtime error);静态语言比动态语言多个“门卫”,编译器,代码在运行前,它帮你检查一边,出问 题报错,报的是编译错误(compile error)。编译出错的代码根本不会走到运行时阶段。 2. 怎么实现的 静态语言怎么检查代码,通过“规则”,这个规则就是所谓的"强类型系统"。 简单的说就是"先定规则,再执行”,“先得有类型,才能执行”。这也是为什么它在“灵活性”上不如动 态语言。 3. 超集 刚开始看这个定义的时候也没搞太明白,后来就清楚了;各个厂家的浏览器中“实现”JavaScript 是根 据 ECMAScript 标准。而浏览器只能看的懂 JavaScript。 所以 TypeScript 最终都会“编译”成 JavaScript 跑在宿主环境里。哪些在 ts 中看到的 “超级” 语法,关 键词 最终都会变成 js。 4. 也挑个小错 let todos:Ref(Todo[]) = ref([{title: "学习Vue", done: false}]) 中,应该是 Ref<Todo[]> 吧

    作者回复: 很棒的总结 代码更新啦

    2021-11-17
    26
  • 费城的二鹏
    了解了 TypeScript 的使用后,你可以回想一下 Vue 2 里有哪些写法是对 TypeScript 不友好的,以及我们应该怎么在 Vue 3 优化呢? 在公司项目使用 ts 开发 vue2,感觉这个写法掩盖了很多 vue2 本身的概念。比如说 data 方法没了,watch 方法没了,都变成了注解,不太容易理解到 vue 本身的设计思路。

    作者回复: 因为vue2中的this只能在ts中标记any,其实丧失了ts的意义,所以vue2中使用ts使用的事封装好的class语法,这个语法其实已经在vue3被废弃了,可以考虑使用composition来适配vue2

    2021-11-17
    3
  • 费城的二鹏
    const emit = defineEmits<{ 代码片段貌似不完整

    作者回复: 更新啦

    2021-11-17
    1
  • Geek_0c8aff
    typescript加餐++++++

    作者回复: 已加餐

    2021-11-30
  • 以梦为马
    TS 加个餐吧,如何系统得在 Vue3 项目实战 TS,感觉现在 TS 都快成标准了,都在用

    作者回复: ts加餐在写了

    2021-11-22
  • Geek_073752
    大圣老师,有计划TypeScript加餐吗?

    作者回复: 大家需要的还挺多,肯定会有的

    2021-11-18
  • Geek_a84b8d
    希望大圣老师有TS的加餐
    2021-11-17
    1
    63
  • 关关君
    加餐 想看 TypeScript 和 Vue3 的 项目最佳实践
    2021-11-19
    10
  • 东东
    老师,后面的项目可以用TS写不?
    2021-11-17
    10
  • 哎哟迪奥
    typescript yyds,大圣大佬yyds,加餐yyds。
    2021-11-17
    5
收起评论
显示
设置
留言
45
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部