Typescript的基础类型 | 青训营笔记

89 阅读2分钟

前言

已经有JavaScript了。为什么还要使用typescript,因为是typescript是JavaScript的超集,可以解决大型项目的复杂性。

优点:

  • 强类型、支持静态和动态类型
  • 使用typescript可以在编译阶段发现并纠正错误
  • 不能改变变量的数据类型,使得更加清晰

image.png

如何使用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

undefinednullvoid有点相似。默认情况下它们是所有类型的子类型,即可以赋值给任意类型

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;
}