ts 是 js 的一个超集,兼容 js 代码,并且包含了 es6 的特性
1.类型注解
ts 是强类型检测,声明变量的同时,需要指定变量的类型
例:
类型推论 (如果变量已经赋值,那么不需要明确指定他的类型,会根据值自动判断)
let name = 'tom';
类型注解(指定变量类型,会通过静态类型检测变量)
let name: string;
数组类型约束(表示声明一个数组,并且里面的必须是字符串)
let names: string[];
任意类型
let name: any;
在数组中可以存在任意类型,例如数字,字符串类型,甚至浮点类型
let list: any[];
同时声明两种类型
let efg: string | number;
函数使用类型:
限制参数类型
param:string;
限制返回类型
:string
function getSex(name: string): string {
return '男';
}
函数:
凡申明,必填参数, ? 号表示断言,可填
也可以赋默认值
可选参数必须在必填参数后面
function sayHello(name: string, age?: number, sex = '男') {
console.log(name, age, sex);
}
sayHello('tom')
* 函数重载:以参数数量或类型区分多个同名函数
先声明,再实现
function info(a: number): string;
function info(a: string): number;
function info(a: any): any {
console.log(typeof a)
switch(typeof a) {
case 'number':
console.log('number ' + a)
break;
case 'string':
console.log('string ' + a)
break;
default:
return '2';
}
}
info('89757')
在构造函数中声明变量类型,相当于声明变量以后再传入构造函数中,
该变量可以在类中进行调用。