主题
基本类型
原始类型
提示
基于 JS 的
ts
/* boolean */
let boolean1: boolean = true
let boolean2: boolean = false
/* number */
let number1: number = 1
let number2: number = 5.3
let number3: number = -10
/* string */
let string1: string = 'hi'
let string2: string = 'hi'
let string3: string = `hi`
/* null */
let null1: null = null
/* undefined */
let undefined1: undefined = undefined
// bigint
let bigint1: bigint = 12n
let bigint2: bigint = BigInt(12)
/* Symbol */
let symbol1: Symbol = Symbol()特殊的基础类型
提示
TS 新增的
any— 绕开类型检查(顶级不安全类型)unknown— 比 any 更安全的顶类型(必须缩小后才能使用)void— 通常用于函数无返回值(等价于 undefined 的意图表达)never— 表示不可能的值(例如永远抛错或无限循环的函数返回类型)
any 和 unknown 的区别?
unknown 增加了一个“显式编程”范式的应用。
ts
// any
const state = getState()
const u: User = state
u.sayHello() // 由于 state 定义为 any 类型,而 u 可能并没有 sayHello 方法,而 TS 又不会报错
// unknown
const state: unknown = getState()
// 如果 state 定义为 unknown,那么 state 需要进行类型断言不然就会报错
// const u: User = state // ❌
const u: User = state as User
u.sayHello()