ts入门大法

106 阅读1分钟

原语

JavaScript 具有三个非常常用的原语stringnumberboolean

变量名: 类型

let s: string = 'hello world'
let n: number = 1
let r: boolean = true

数组

定义数组有两种方式,更推荐第一种

  1. Array<类型>
  2. 类型[]
let arr1: Array<number> = [1, 2, 3]
let arr2: Array<number | string> = [1, 2, 'T'];

let arr3: number[] = [1, 2, 3]
let arr4: (number | string)[] = [1, 2, 'T']

函数

声明行参时,同时声明参数类型

function add(x: number, y: number) {
    return x + y
}

let r = add(10, 20)
console.log(r)

对象

使用interface关键字。变量名大写

interface 变量名 {}

interface Person {
    id: number,
    job: string
}

let p: Person = {
    id: 10001,
    job: 'Student'
}

类型别名

使用type关键字。变量名大写

类型别名可以为任何类型命名。

interface 变量名 = {}

type Person = {
    id: number,
    job: string
}

let p: Person = {
    id: 10001,
    job: 'Student'
}

枚举

使用type关键字。

enum Status {
    active = 1,
    disactive = 0
}

可选参数

?: 类型

interface Person {
    id: number,
    job: string,
    income?: string
}

强制解析

!

let s = 'abc'!.toUpperCase()