02.基础类型

2019-03-22  本文已影响0人  v刺猬v

基础类型

布尔类型

let bool: boolean = false

数值类型

 let num: number = 123
 num = 0b1111011 // 二进制123
 num = 0o173 // 八进制123
 num = 0x7b // 十六进制123

字符串类型

 let str: string = 'abc'
 str = `数值是:${num}`

数组

let arr1: number[] = [1, 2, 3]
let arr2: Array<number> = [1, 2, 3]
let arr3: (number|string)[] = [1, '2', 3]
let arr4: Array<number|string> = [1, '2', 3]

元祖(指定长度,类型,顺序)

let tuple: [string, number, string] = ['1', 2, '3']

枚举类型

enum Roles {
  SUPER_ADMIN = 1,  // 指定开始位置
  ADMIN,
  USER
}
console.log(Roles.SUPER_ADMIN, Roles.ADMIN, Roles.USER)
console.log(Roles[1])

any类型(表示任意类型)

let any: any = 'abc'
any = 456

void(表示不是任何类型)

const consoleText = (text: string): void => {
  console.log(text)
}
consoleText('abcd')

let v: void
v = undefined

undefined 和 null

let u: undefined
let n: null

never类型

const errorFunc = (errMsg: string): never => {
  throw new Error(errMsg)
}

const infinitFunc = (): never => {
  while(true) {}
}

对象类型

let obj: object = {
  name: 'zhangsan',
  age: '30'
}

const consolePerson = (person: object): void => {
  console.log(person)
}
consolePerson(obj)

类型断言

const getLength = (target: string|number): number => {
  if ((<string>target).length || (target as string).length === 0) {
    return (<string>target).length
  } else {
    return target.toString().length
  }
}

console.log(getLength(123))
上一篇 下一篇

猜你喜欢

热点阅读