原始数据类型
首先我们来回顾Javascript 类型分类:
原始数据类型有以下七中
- Boolean
- Null
- Undefined
- Number
- BigInt
- String
- Symbol
那么我们再来看一下再ts中的数据类型
布尔类型
let isDone: boolean = false // 布尔类型
number类型
let age: number = 10 // number类型
字符串类型
let firstName: string = 'name' // 字符串类型
let message: string = `Hello, ${firstName}`
// es6新增的模版字符串也是没有问题的
undefined和null类型
// undefined 和 null 类型
let u: undefined = undefined
let n: null = null
undefined 和 null是所有类型的子类型,所有undefine也能赋值给num类型的变量
let num: number = undefined
any类型:
// 允许赋值任何类型,
let notSure: any = 'is very good'
notSure = 'is very good'
notSure = true
notSure.myName
// 而且访问任何属性也是被允许的
// 也可以调用方法
notSure.getName()
数组和元组:
// 元组
let user: [string, number] = ['name', 20]
user.push('age')
// 只能push以上两种方法的一种,不然会报错
// 数组
let list: number[] = [1, 2, 3]
// 必须是同一类型
list.push(4)
//js中有一种特殊的数据结构称之为列数组,举例说明一下
function test() {
console.log(arguments) // arguments就是一个类数组
arguments.length //取长度属性
arguments[0] //取索引
// 但是没有数组上的方法,比如forEach
}
枚举
enum类型是对JavaScript标准数据类型的一个补充。
enum Name {Tom, Bob, Jack}
let c: Name = Name.Bob;
默认情况下,从0开始为元素编号。 你也可以手动的指定成员的数值。 例如,我们将上面的例子改成从 1开始编号:
enum Name {Tom = 1, Bob, Jack}
let c: Name = Name.Bob;
或者,全部都采用手动赋值:
enum Name {Tom = 1, Bob = 2, Jack = 4}
let c: Name = Name.Green;
Void
表示没有任何类型,当一个函数没有返回值时,通常返回类型是void
function warnUser(): void {
console.log("This is my warning message");
}
关于ts的基本数据类型就介绍到这里,更多详解可以参考官方文档的内容 传送门