TypeScript语法(九)

49 阅读2分钟

JavaScript类型 – Array类型

数组类型的定义也非常简单,有两种方式:

const names1: Array<string> = [] // 不推荐(react jsx中是有冲突   <div></div>)
const names2: string[] = []

JavaScript类型 – Object类型

object对象类型可以用于描述一个对象

const info = {
  name: "sabo",
  age: 18
}

TypeScript类型 - any类型

在某些情况下,我们确实无法确定一个变量的类型,并且可能它会发生一些变化,这个时候我们可以使用any类型(类似

于Dart语言中的dynamic类型)。

any类型有点像一种讨巧的TypeScript手段:

我们可以对any类型的变量进行任何的操作,包括获取不存在的属性、方法;

我们给一个any类型的变量赋值任何的值,比如数字、字符串的值;

let message: any = "Hello World"

message = 123
message = true
message = {

}

如果对于某些情况的处理过于繁琐不希望添加规定的类型注解,或者在引入一些第三方库时,缺失了类型注解,这个时候我们可以使用any: 包括在Vue源码中,也会使用到any来进行某些类型的适配;

TypeScript类型 - unknown类型

unknown是TypeScript中比较特殊的一种类型,它用于描述类型不确定的变量

  return "abc"
}

function bar() {
  return 123
}

// unknown类型只能赋值给any和unknown类型
// any类型可以赋值给任意类型

let flag = true
let result: unknown // 最好不要使用any
if (flag) {
  result = foo()
} else {
  result = bar()
}

let message: string = result
let num: number = result

console.log(result)

export {}

TypeScript类型 - void类型

void通常用来指定一个函数是没有返回值的,那么它的返回值就是void类型:

我们可以将null和undefined赋值给void类型,也就是函数可以返回null或者undefined

function sum(num1: number, num2: number) {
  console.log(num1 + num2)
}

sum(20, 30)

这个函数我们没有写任何类型,那么它默认返回值的类型就是void的,我们也可以显示的来指定返回值是void:

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第37天,点击查看活动详情