前言
已经有JavaScript了。为什么还要使用typescript,因为是typescript是JavaScript的超集,可以解决大型项目的复杂性。
优点:
- 强类型、支持静态和动态类型
- 使用typescript可以在编译阶段发现并纠正错误
- 不能改变变量的数据类型,使得更加清晰
如何使用typescript
- 通过npm(Node.js包管理器)
> npm install -g typescript
- 安装Visual Studio的TypeScript插件
TS-基础类型
1. boolean、number、string
boolean最基本的数据类型就是简单的true/false值;TypeScript里的所有数字都是浮点数。 这些浮点数的类型是number;string类型就是使用""或者''来表示字符串;下面是关于他们三个的代码案例:
let judgment: boolean = true; //boolean类型
2. undefined、null
undefined和null和void有点相似。默认情况下它们是所有类型的子类型,即可以赋值给任意类型
let s: string = "HelloWorld!"
s = null
s = undefined
既然这是默认的情况,所以它的这个属性是可以修改的,如果想实现不能:赋值给任意类型,以下操作可以实现。 修改tsconfig.js文件:
strictNullChecks=true
3. any、void
any就是其他基础类型都可以;void类型像是与any类型相反,它表示没有任何类型,比如一个返回值为空的void函数。
function test(): void {
console.log("我是void函数");
}
4. never
never类型表示的是那些永不存在的值的类型,
5. 枚举enum
枚举可以更好的得到想要的数据,如:
enum Fruit{
apple, //0
orange, //1
banana, //2
}
let f: Fruit= Fruit.apple;
6. 数组类型 []
let a: number[] = [1, 2, 3];
7. 元组类型 tuple
元组类型允许表示一个已知元素数量和类型的数组,例如定义一组值即有number类型也有string类型
let x: [string, number];
x = ['a', 1];
注意的是,如果x的写法变成了x = [1, 'a']; 这样的写法是错误的,需要与类型的顺序一致
TS-函数类型
TypeScript函数可以创建有名字的函数和匿名函数,同时也可以给函数的参数添加类型。
function add(num1, num2:number): number {
return num1 + num2;
}