零基础TypeScript 二、TypeScript 的静态类型

1. 什么是TypeScript的静态类型?

静态数据类型(Static Typing),通俗的理解就是,一旦变量定义成某种类型,就无法改变。这里的无法改变指的是无法改变变量的类型,而不是变量具体的值
通过一个小例子,便于理解:

在这里插入图片描述
如上图所示,这里定义了一个变量age,它的类型是number型,变量值为18,我可以通过赋值的方式改变age的值,这样不会报错。

但如果我要给age赋值一个字符串,就会出现如下报错:

在这里插入图片描述
原因是:我将string型数据’xiaoming’强行赋值给了number型变量age。由此可见,一旦变量定义成某种静态类型,就无法改变。

在 TypeScript 中静态类型分为两种,一种是基础静态类型,一种是对象类型。下面将一一讲解。

2. TypeScript 的基础静态类型

基础静态类型包括:numberstringnullundefindesymbolbooleanvoid
基础静态类型的定义如下:

let age : number = 18;
let name : string = "xiaoming"

注意:当变量的类型定义好之后,该变量就可以调用该类型上所有的属性和方法!!!
在这里插入图片描述
如上图所示,变量age定义为number型,age可以调用number类型的所有属性和方法。

3. TypeScript 的对象类型

TypeScript 的对象类型又分为以下几种:

  1. 对象类型
  2. 数组类型
  3. 类类型
  4. 函数类型
3.1 对象类型

对象类型定义如下:

// 对象类型
const teacher: {
    name: string,
    age: number
  } = {
    name: 'wanglaoshi',
    age: 28
  }
  console.log(teacher.name)

在终端通过执行 ts-node 文件名就可以显示执行结果:wanglaoshi

3.2 数组类型

数组类型定义如下:

// 数组类型
const arrStr: String[] = ["xiaohong", "xiaoming", 'xiaohua'];
console.log(arrStr)

这里变量arrStr定义的类型是string,整个数组里面的值都必须是执行结果为:[ 'xiaohong', 'xiaoming', 'xiaohua' ]

3.3 类类型

类类型定义如下:

// 类类型
class Person {}
const xiaohong: Person = new Person()

先定义一个Person类,再定义xiaohongxiaohong必须是一个Person类对应的对象才可以。

注意:这里定义的xiaohong可以直接调用Person类中的函数方法

class Person {
  name: string
    constructor(name: string) { //构造函数,实例化时触发的方法
        this.name = name
    }
  run(): void {
    console.log(this.name)
  }
}
const xiaohong: Person = new Person('xiaohong')
xiaohong.run()

这里xiaohong可以调用Person类中的run()函数。输出结果为:xiaohong

3.4 函数类型

函数类型定义如下:

// 函数类型
function fun(name:string): string {return name}
const person: string = fun('xiaohong')
console.log(person);

先定义一个fun()函数,类型为string,然后定义一个函数类型变量person,其参数类型就只能是string,换成其他类型则会报错。最后结果为:xiaohong

这里简要的介绍了一下 TypeScript 的静态类型,后续将介绍 TypeScript 的类型注解和类型推断

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值