文章目录
Ts综合
1.TypeScript基本数据类型
原始数据类型:
boolean 布尔值
number 数值
string 字符串
null 空值
undefined 未定义
Symbol(ES6 中的新类型)
非原始数据类型:
数组 arr: number[] arr: Array
元组 Tuple x: [string, number]
枚举 enum
//
enum Color {Red, Green, Blue};
let c: Color = Color.Blue;//默认情况下,从 0 开始为元素编号。
console.log(c); // 输出 2
enum Person {
name = "NAME",
age = "AGE",
love = "LOVE",
hobby = "HOBBY",
}
console.log(Person.name); // NAME
console.log(Person.hobby); // HOBBY
void 类型像是与 any 类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void
//void 类型像是与 any 类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void。
function hello(): void {
alert("Hello ts");
}
联合类型
//联合类型(Union Types)表示取值可以为多种类型中的一种。
let num: string | number;
num = "seven";
num = 7;
函数类型
unknown 表示一个未知的类型,使用unknown标注的变量和参数必须经过类型检查和转换后才能使用
never 永不存在的值的类型
any 任意类型
2.void和undefined
let unde: void = undefined;
let nu: void = null;
let un: undefined = undefined;
let nu: null = null;
与 void 的区别是,undefined是所有类型的子类型。也就是说 undefined 类型的变量,
可以赋值给 number 类型的变量
let num: number = undefined;
let un: undefined;
let num2: number = un
3.TypeScript类修饰符
TypeScript支持访符 public,private 和 protected,它们决定了类成员的可访问性。
public(公共):所有定义成public的属性和方法都可以在任何地方进行访问。
private(私有):所有定义成private的属性和方法都只能在类定义内部进行访问。
protected(受保护): 该类及其子类的所有成员都可以访问它们。 但是该类的实例无法访问
4.如何定义一个数组,它的元素可能是字符串类型,也可能是数值类型
通过不同方式使用联合类型写法
// 方法1:
let arr1: (number | string)[] = [1]
arr1.push(1)
arr1.push('3')
// 方法2:
let arr2 : Array<string | number> = [1, '2']
arr2.push(1)
arr2.push('3')
// 方法3:
type newType = number|string
let arr3:newType []= [3]
arr3.push(1)
arr4.push('5')
5.TypeScript接口
接口是一系列抽象方法的声明,是一些方法特征的集合,
这些方法都应该是抽象的,需要由具体的类去实现,
然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。