01 导读:Hello~TypeScript
同学你好,我是 TypeScript,如果你觉得我是 JavaScript 的孪生兄弟,或者觉得我是前端圈新扶持起来的太子,那你可能对我是有点误解了。其实我并不是一个新的语言,用大家公认的说法,我是 JavaScript 的超集,你可以理解为,我是加了一身装备铭文的进化版 JavaScript。JavaScript 有的,我都有,而且做得更好。JavaScript 没有的,我也有,而且我是在很长一段时间内不会被 JavaScript 赶上的。
同学你好,我是 TypeScript,如果你觉得我是 JavaScript 的孪生兄弟,或者觉得我是前端圈新扶持起来的太子,那你可能对我是有点误解了。其实我并不是一个新的语言,用大家公认的说法,我是 JavaScript 的超集,你可以理解为,我是加了一身装备铭文的进化版 JavaScript。JavaScript 有的,我都有,而且做得更好。JavaScript 没有的,我也有,而且我是在很长一段时间内不会被 JavaScript 赶上的。
如果你看过了本专栏的大纲,那你应该会有一种,哇,官方文档里列出的知识基本都讲了,这个专栏太细了的感觉。这一个小节我会教给大家如何去自学 TypeScript。虽然你在学习本专栏的时候,Lison 会手把手的带着你学习 TypeScript 的语法和实战。但我还是想给你讲讲如何自学 TypeScript,在授你以鱼之前也会授你以渔的,这样 TypeScript 即使更新了,你也能毫无压力地迎接它的新特性。好,接下来让我们开始吧。
这节课我们要做的就是在砍柴之前先磨刀,学习如何借助 VSCode 愉快高效地开发 TypeScript 项目,我们来一步一 步让 VSCode 对 TypeScript 的支持更强大。如果你已经习惯了使用别的编辑器,那你也可以自行搜索下,本节课提 到的内容在你使用的编辑器是否有对应的替代品。
这小节你学习起来会很轻松,这是你正式接触 TypeScript 语法的第一节课,是最最基础的语法单元。这节课我们 将学习在 JavaScript 中现有的八个数据类型,当然这并不是 JavaScript 中的所有数据类型,而是现在版本的 TypeScript 支持的基本类型,在学习基础类型之前,我们先来看下如何为一个变量指定类型:
上个小节我们学习了八个 JavaScript 中常见的数据类型,你也学会了如何给一个变量指定类型。本小节我们将接触 几个 TypeScript 中引入的新类型,这里面可能有你在其他强类型语言中见过的概念,接下来让我们一起来学习。
symbol 是 ES6 新增的一种基本数据类型,它和 number、string、boolean、undefined 和 null 是同类型的,object 是引用类型。它用来表示独一无二的值,通过 Symbol 函数生成。
本小节代码都是纯 JavaScript 代码,建议在非 TypeScript 环境练习,你可以在浏览器开发者工具的控制台里练习。但是因为 TypeScript 也支持 Symbol,所以如果需要特别说明的地方,我们会提示在 TypeScript 中需要注意的内容。
枚举是 TypeScript 新增加的一种数据类型,这在其他很多语言中很常见,但是 JavaScript 却没有。使用枚举,我们可以给一些难以理解的常量赋予一组具有意义的直观的名字,使其更为直观,你可以理解枚举就是一个字典。枚举使用 enum 关键字定义,TypeScript 支持数字和字符串的枚举。
学完前面的小节,你已经学习完了 TypeScript 的基本类型。从本小节开始,你将开始接触逻辑。在这之前,先来学习一个概念:类型断言。
本小节我们来学习接口,正如题目所说的,你可以使用接口定义几乎任意结构,本小节我们先来学习下接口的基本使用方法
学习了上个小节接口的基础用法后,相信你已经能够使用接口来描述一些结构了。本小节我们来继续学习接口,学习接口的高阶用法。接口有一小部分知识与类的知识相关,所以我们放在讲解类的小节后面补充讲解,我们先来学习除了这一小部分之外剩下的接口的知识。