前言
都2022年了😎,我才开始学习 TypeScript
,也不知道还能不能跟上时代的脚步,看来是舒适的工作环境让我逐渐失去了前进的动力🤦♂️。
这篇文章主要是我总结的一些 TypeScript
的基础知识,如果有什么不对的地方,欢迎大家指出来😤。
一、Typescript 简介
从官网的描述来看,TypeScript
是 JavaScript
的超集,也就是说TypeScript
拥有 JavaScript
的所有功能,并且提供了可选的静态类型和基于类的面向对象编程。
同时 TypeScript
还可以提供最新的和不断发展的JavaScript特性,包括那些来自2015年的ECMAScript和未来的提案中的特性,比如异步功能和Decorators,以帮助建立健壮的组件。
1、Typescript 值得学吗?
我想很多人都跟我一样存在这样的疑问吧,下面我列举几个我们需要学习 TypeScript
的理由📚
- 更好的开发体验,可以清晰的知道值的类型。
- 提前发现类型相关的代码错误。
TypeScript
编写的代码,具有更高的可读性,更加容易重构。TypeScript
越来越受欢迎,大部分前端开源库、框架都逐步支持TypeScript
。TypeScript
是 JavaScript 超集,完全兼容所有 JavaScript 语法规则。
当然,使用 Typescript
也有一些缺点:
- 引入了太多的新概念,类似泛型、枚举等等。不过好在ts 是渐进式的,就是你完全不会直接写 JS 代码也是完全没有问题的,后面学习一个就可以用一个。
- 不适用于小型项目,有可能会增加开发成本,因为在开发时会有很多的类型声明。
TypeScript
需要编译,项目越大消耗时间越长。但是,编译花费的那点时间跟后期排错的时间比起来不值一提。。
2、获取 TypeScript
命令行的 TypeScript 编译器可以使用 Node.js 包来安装。
1.安装 TypeScript
npm install -g typescript
2.编译 TypeScript 文件
tsc helloworld.ts
# helloworld.ts => helloworld.js
TypeScript 官方还提供了一个在线的学习网站 TypeScript Playground 来学习新的语法或新特性。
二、TypeScript 中的基础类型
在 TypeScript
中,我们可以在声明一个变量之后设置我们想要添加的类型 :type
🤖(我们一般称之为“类型注释”或“类型签名”)
let nunm: number = 0
let name: string = 'Lucy'
let isBoolean: boolean = true
let unit: number // 声明变量而不赋值
unit = 5
1、布尔值(boolean)
let isBoolean: boolean = false
2、数字(number)
除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量。
let num: number = 0
let hexLiteral: number = 0xf00d
let binaryLiteral: number = 0b1010
let octalLiteral: number = 0o744
3、字符串(string)
跟JavaScript一样,可以使用双引号( "
)或单引号('
)表示字符串,也可以使用 模板字符串
。
let nam