一、数组类型 第一种
//数组类型 两种写法:类型[ ]/Array<类型>
let arr: string[] = ['a', 'b', 'c'];
console.log(arr);
//第二种
let arr1: Array<string> = ['a', 'b', 'c'];
console.log(arr1);
二、联合类型 用通配符隔开
let arr3: (number | string | boolean)[] = [1, 2, 'aaa', true]
console.log(arr3);
let timer: null | number = setTimeout(() => { }, 12);
console.log(timer);
//类型别名(关键字为type) type 类型别名=具体类型
//定义类型别名-- 遵循大驼峰命名规范,类似于变量
//小驼峰命名法和大驼峰命名法统称为驼峰命名法,驼峰命名法是电脑编程时的一套命名规则。指在命名变量和函数时混合使用大小写字母来构造名字。
// 这样可以方便程序员之间的代码交流,也可以增强可读性。
// --大驼峰命名--一个类型被多次使用:当有一个标识符时,首字母大写,多个标识符时,所有单词首字母都大写。
// 小驼峰命名法--一个标识符首字母小写,多个标识符时,第一个首字母小写,其他首字母大写。
type MyType = (number | string | boolean)[];
let arr4: MyType = [1, 2, 'aaa', true];
可以多次使用
let arr5: MyType = [1, 2, 'aaa', true];
console.log(arr4);
console.log(arr5);
三、函数指定类型 ---》就是给参数和返回值指定类型
//1.分别指定(在函数基础上分别指定,可选参数加?,必须写在必选参数最后面)
function fn1(x: number, y: number, z: number): number {
return x + y + z;
}
console.log(fn1(1, 2, 7));
//2.同时指定--> 注意 只适用于--》函数表达式
//方法一(使用类型别名来指定参数和返回值类型)
type comFn = (x: string, y: string) => string;
const fn2: comFn = function (x, y) {
return x + y;
}
console.log(fn2('1','2'));
//方法二
const fn3: comFn = function (x, y) {
return x + y;
}
console.log(fn3('1', '2'));
// void 类型--如果函数没有返回值,定义函数类型时返回值类型为:void,
// 注意:void 类型只能赋值undefined和null
function fn4(x: number, y: number): void {
console.log(x + y);
}
//对象类型 是属性和方法组成的集合
//空对象
const obj: { } = { }
//第二种有属性的对象,(定义的类型前面有几个后面就定义几个,前面没定义,后面定义了会报错。)
// 如果有多个属性或方法在一行的话要用;号隔开。
const obj1: { name:string;age:number } = { name: '小四',age:20 };
如果是换行写的话,后面不需要加任何符号
const objs: {
name: string//后面什么也不加
age: number
} = {
name: '小四',
age: 12
}