ts学习笔记(一) 数据类型

186 阅读2分钟

布尔值(Boolean), 数字(Number), 字符串(String)

let bool: boolean = false
let num: number = 1
let str: string = 'str'

数组(Array)

可以使用两种方法来定义数组,
一是在元素类型后面接上[],表示由此类元素组成的数组

  • let arr: number[] = [1, 2, 3]
    二是使用数组泛型
  • let arr: Array<number> = [1, 2, 3]

元组(Tuple)

元组类型是一个已知元素数量和类型的数组,各个元素的类型可以不同

  • let tuple: [string, number]
  • 赋值时得符合元组定义的类型
  • 通过索引访问
  • 当访问越界的元素时,会使用联合类型代替

Any

当我们在编写阶段还不清楚一个值得类型的时候,我们可以把它指定为any 通俗的来讲,它可以被认定为任意类型

Void

void类型可以看作是any的范反例,表示没有任何类型 如果声明一个类型为any,那么它的值只能是undefined或者null

Null和Undefined

null和undefined的值为它们本身 默认情况下null和undefined是所有类型的子类型,可以把他们赋给其它类型的变量

Never

never表示那些永不存在的值的类型 never是所有类型的子类型,但是没有任何类型是never的子类型,也就是说不会有任何类型(除了never)可以赋值给never,包括any

Object

object表示非原始类型 原始类型有number, string, boolean, symbol, null, undefined

类型断言

当有时侯我们比typescript更清楚值的详细类型的时候,我们就可以使用类型断言 类型断言有两种写法,第一种 尖括号语法

  • let someValue: any = "this is a string"
  • let strLength: number = (<string>someValue).length 第二种 as语法
  • let someValue: any = "this is a string";
  • let strLength: number = (someValue as string).length;