布尔值
let flag: boolean = true
let bool: boolean
bool = false
数值
let num: number = 123
num = 0x7e
字符串
let str: string
str = 'abc'
console.log(`数据:${num}`)
数组
let arr: number[]
arr = [1,5,6]
let arr2: Array<number>
let arr3: (string | number)[]
arr3 = [1,'数组']
元组
let tuple: [string,number,boolean]
tuple = ['a',23,true]
枚举值
enum Roles {
SUPER_ADMIN,
ADMIN,
USER
}
console.log(Roles.SUPER_ADMIN)
any
let value: any
value = 'abc'
value = {
name: '张三',
age: 9
}
void
const consoleText = (text: string): void =>{
console.log(text)
}
let v: void
v = undefined
null和undefined
let u: undefined
u = undefined
let n: null
n = null
never
const errorFunc = (message: string): never =>{
throw new Error(message)
}
const infiniteFunc = (): never =>{
while(true){}
}
object
let obj = {
name: '张三'
}
类型断言
- 可以同<>和as指定类型
- 推荐使用as,.tsx中不能使用<>
const getLength = (target: string | number): number => {
if((<string>target).length || (target as string).length === 0){
return (<string>target).length
}else{
return target.toString().length
}
}
getLength(1235)