Skip to content

基本类型的定义方式

  • null和undefined类型是任意类型的子集
ts
// 这是允许的
let age: number = null
  • 数组的定义方式
ts
// 方式一
let num: number[] = [1,2,3]

// 方式二
// 类数组
interface LikeArr {
    [index: number]: string
}
const likeArray: LikeArr = ['1', '2', '3']
  • 元组的定义方式
ts
let user: [string, number] = ['age', 12]

// 如果使用push添加元素,那么添加的类型只能是定义好的类型里面的其中一种
 user.push(20)
  • 函数的定义
ts
// 方式一:
// 函数括号后面的类型是指函数返回值的类型
function add(x: number, y: number): number {
    return x + y
}

// 方式二
// 箭头后面的类型是指函数返回值的类型
const add2: (x: number, y: number) => number = add 

// 方式三
const sum =  (x: number, y: number) => {
    return x + y
}
interface ISum {
    (x: number, y: number): number
}

const sum2: ISum = sum
  • 对象的定义
ts
// 方式一
interface Person {
    readonly id: number; // readonly只读属性
    name: string;
    age?: number; // ?代表可选
}

const man: Person = {
    name: '名字',
    age: 11,
    id: 1
}

// 方式二
// 适用于对象属性不确定的情况
interface RandomMap {
    // propName是个变量(可不定义),第一个string是指变量类型,第二个string是指属性的类型
    [propName: string]: string
}

const test: RandomMap = {
    a: 'xsxa',
    b: 'aq'
}

苏ICP备20040768号