TypeScript学习笔记(1)-基础类型

158 阅读2分钟
  1. boolean 布尔型
let isDone: boolean = true
  1. number 数字
  • 和js一样所有数字都是浮点数 支持十进制,十六进制,二进制,八进制
let decLiteral: number = 6
let hexLiteral: number = 0xf00d
let binaryLiteral: number = 0b1010
let octalLiteral: number = 0o744
  1. string 字符串
  • 可以使用双引号或单引号表示字符串
let str: string = 'string'
  • 还可以使用模板字符串
let nameStr: string = 'bob'
let age: number = 18
let sentence: string = ` Hello my name is ${nameStr}
I'll be ${age + 1} years old next month`
  1. Array数组
  • 在元素类型后接[],表示由此类型元素组成一个数组
let listNum: number[] = [1, 2, 3]
  • 使用数组泛型
let listStr: Array<string> = ['1', '2', '3']
  1. Tuple元组
  • 表示一个已知元素数量和类型的数组,类型不必相同
// 可以定义一对值为string和number类型的元组
let x: [string, number] = ['A', 1]
  1. enum枚举
  • 使用枚举类型可以为一组数值赋予友好的名字
enum Color {Red,Green,Blue}
let c: Color = Color.Green
  • 默认情况下,从0开始为元素编号。 你也可以手动的指定成员的数值。
// 例如,我们将上面的例子改成从 1开始编号
enum Color {Red = 1, Green, Blue}
let c: Color = Color.Green;

// 或者,全部都采用手动赋值:
enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green;
  • 枚举类型提供的一个便利是你可以由枚举的值得到它的名字。 例如,我们知道数值为2,但是不确定它映射到Color里的哪个名字,我们可以查找相应的名字
enum Color { Red = 1, Green, Blue }
console.log(Color[2]) // Green
  1. any 给还不清楚类型的变量指定一个类型
  • 我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。 那么我们可以使用 any类型来标记这些变量
let notSure: any = 4
notSure = 'matbe a string instead'
notSure = true
  • 当你只知道一部分数据的类型时,any类型也是有用的。 比如,你有一个数组,它包含了不同的类型的数据
let list: any[] = [1, true, 'free']
list[1] = 100
  1. Void 表示没有任何类型
  • 当一个函数没有返回值时 通常会见到其返回值类型是 void
function warnUser(): void {
console.log(1)
}
  • 声明一个vold类型的变量 只能给他赋予 undefined
let unusable: void = undefined
  1. Null 和 Undefined
let u: undefined = undefined
let n: null = null
  1. Never 永不存在的值的类型
  • 例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

function infiniteLoop(): never {
    while (true) {
    }
}