Typescript--数据类型

Typescript是Javascript的超集,所以大多数的数据类型和Javascript相同。下面是Typescript的数据类型:

  • 字符串类型(String)
  • 数字类型(Number)
  • 布尔类型(Boolean)
  • 数组类型(Array)
  • 元组类型(tuple)
  • 枚举类型(enum)
  • 任意类型(any)
  • null 和 undifined
  • void类型
  • never类型

在typescript中大概有这么十种数据类型。

字符串类型

字符串类型的生明必须声明类型,一旦声明类型,不能再赋值其他类型的数据

1
2
3
4
5
var str1:string = 'this is a string!'
var str2:string = 345

str1 = 'hello world'
str2 = 123 // 报错
数字类型

数字类型的生明必须声明类型,一旦声明类型,不能再赋值其他类型的数据

1
2
3
4
5
var num1:number = 123
var num2:number = 345

num1 = 543
num2 = 'num' // 报错
布尔类型

布尔类型的值只有俩个:true和false,而且声明的时候,必须声明类型,一旦声明类型,不能再赋值其他类型的数据

1
2
3
4
var bol1:boolean = true
var bol2:boolean = false
bol1 = false
bol2 = 123 // 报错
数组类型

定义数组的方式有俩种:

1
let arr:number[] = [1,2,3,4]
1
let arr:Array<number> = [1,2,3,4]

上面是俩种定义数组的方式,但是在数组中只能是number类型,不能有其他类型的值

元组类型

元组类型属于数组的一种,元组可以指定数组中每个元素的类型。

1
let arr:[number, string, boolean] = [123, 'hello world', true]

我们可以看到,数组中的每一个元素必须要与之前的类型一一对应。

枚举类型

事先考虑到某一变量可能取到的值,尽量用自然语言中的含义清楚的词来表示他的每一个值,这种方法称为枚举方法,用这种方法定义的类型称为枚举类型。

1
2
enum Flag = {success = 1, error = -1}
console.log(Flag.success) // 1
1
2
3
4
5
6
7
enum Color { red, blue, white }
var c:Color = Color.red // 0 返回的是索引

enum Color { red, blue = 5, white }
var c:Color = Color.red // 0 返回的是索引
var c:Color = Color.blue // 5 返回的是索引
var c:Color = Color.white // 6 返回的是索引,会以上一个为基准返回
任意类型

任意类型用any来表示,实际和js中不指定类型有点相似。

1
2
3
var s:any = 123
s = 'hello'
s = true

以上的这些操作的都是被允许的。
因为在ts中没有Object这个类型,那么当数据是对象的时候,可以指定其为any类型

null 和 undifined

null和undefined是其他类型的子类型。null和undefined用来定义不同的数据类型。

1
let num:number | null | undefined
void类型

void类型表示没有任何类型,一半用于定义方法的时候没有任何返回值。

1
2
3
4
5
6
7
8
9
function run1 (): void {
console.log('2134566')
}
run1()

function run2 (): number {
return 111
}
run2()
never类型

never类型是其他类型,包含undefined 和 null,代表从不出现的值,这就意味着never类型的变量只能被never类型赋值。

1
2
3
4
var a:never
a = (() => {
throw new Error('throw')
})

never类型基本用不到!

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2022 Lee
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信