2、TypeScript 静态类型

718 阅读2分钟

TypeScript 的一个最主要特点就是可以定义静态类型,英文是 Static Typing。简单的理解“静态类型”为,就是一旦定义了,就不可以再改变了。

在 TypeScript 静态类型分为两种,一种是基础静态类型,一种是对象类型

1、基础静态类型

基础静态类型非常简单,只要在声明变量的后边加一个:号,然后加上对应的类型。如下:

  let a1: Number = 1;//a1必须为number型
  let a2: String = '1';//a2必须为string型
  let a3: Boolean = false;//a3必须为boolean型
  //...

还有null,undefinde,symbol,booleanvoid这些都是最常用的基础数据类型

2、对象类型

对象类型可以有几种形式:

  • 对象类型
  • 数组类型
  • 类类型
  • 函数类型 如下:

(1)、对象

let b1: {
    name: String,
    age: Number,
  } 
b1 ={
    name:'b1',
    age:16,
}

(2)、数组

  let c1: String[] = ["111", "222", "333"];
  let c2: Number[] = [111, 222, 333];

(3)、类

 class Student {}
 let xiaohong: Student = new Student();//xiaohong必须是一个Student类对应的对象才可以

(4)、函数

const teacher: () => String = () => {
    return "xiaogang";
  }; //返回值必须是String型
const studentsId: () => Number = () => {
    return 100;
  }; //返回值必须是Number型

3、如何定义静态类型

  let testnum: Number = 1;

这就是最简单的定义一个数字类型的testnum的变量,这里的: number就是定义了一个静态类型。这样定义后testnum这个变量在程序中就永远都是数字类型了,不可以改变了。如果这时候给testnum赋值一个字符串,就会报错了,如下:

  let testnum: Number = 1;
  testnum='1'//错误代码

image.png

其次,这时候的testnum变量,可以使用number类型上所有的属性和方法。

image.png

4、自定义静态类型

自定义一个静态类型,然后在声明变量的时候,就可以使用这个静态类型。如下:

  interface student {
    id:Number;
    name: String;
    age: Number;
  }
  
  const xiaoming: student = {
    id:1,
    name: "小明",
    age: 18,
  };

这时候再声明变量,跟自定义静态类型不一样的,VSCode直接就会报错。如下:

image.png 这时候xiaoming变量也具有idnameage属性。打印 console.log(xiaoming.name)如下:

image.png image.png

学习日期:2021/12/27

视频参考www.bilibili.com/video/BV1qV…

文档参考jspang.com/detailed?id…

仅供个人学习和记录