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,boolean,void这些都是最常用的基础数据类型
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'//错误代码
其次,这时候的testnum变量,可以使用number类型上所有的属性和方法。
4、自定义静态类型
自定义一个静态类型,然后在声明变量的时候,就可以使用这个静态类型。如下:
interface student {
id:Number;
name: String;
age: Number;
}
const xiaoming: student = {
id:1,
name: "小明",
age: 18,
};
这时候再声明变量,跟自定义静态类型不一样的,VSCode直接就会报错。如下:
这时候
xiaoming变量也具有id、name和age属性。打印 console.log(xiaoming.name)如下:
学习日期:2021/12/27
视频参考:www.bilibili.com/video/BV1qV…
仅供个人学习和记录