1. 类型的注解和类型检查
let name = "xx"; // 类型推论
let title:string = "xxxx"; // 类型的注解和类型检查
//数组使用类型
let names:string [];
names = ['Tom']; // 或Array<string>
let foo:any = 'xx';
foo = 3
// any类型也可以用于数组
let list:any[] = [1, true, 'xxxx'];
list[1] = 100;
// 函数中使用的类型注解
function greeting (person: string):string {
return 'Hello, ' + person
}
// void 类型, 常常用于没有返回值的函数
function warnUser():void {
alert('this is my warning message')
}
2. 函数
// 此处name 和 age 是必填参数
// 如果要变为可选参数加上?
// 可选参数在必选参数后面
function sayHello(name: string, age:number = 20, addr?:string): string {
return '你好: ' + name + ' ' + age
}
// 重载
// 参数数量量或者类型或者返回类型不不同函数名却相同
// 先声明,在实现
function info(a: { name: string }): string;
function info(a: string): object;
function info(a: { name: string } |string): any {
if (typeof a==="object") {
return a.name;
} else {
return { name: a };
}
console.log(info({ name: "tom" }));
console.log(info("tom"));
3. 类型推论
class MyComp {