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')
在構造函數中聲明變量類型,相當於聲明變量以後再傳入構造函數中,
該變量可以在類中進行調用。