TypeScript 函數 1. 函數聲明 /函數 //es5匿名函數 function run4() { return 'run4'; } console.log(run4); var run5 = function () { return 'run5'; } console.log(run5); ...
TypeScript---函數
1. 函數聲明
/函數 //es5匿名函數 function run4() { return 'run4'; } console.log(run4); var run5 = function () { return 'run5'; } console.log(run5); //es6 const aa1 = (() => { return 'run' }) console.log(aa1);
2. TS中定義函數的方法
//函數聲明-命名函數 function run6(): string { return '234' } //函數聲明-匿名函數 var fun2 = function (): number { return 456 }
3. 調用
alert(fun2());
4. ts中定義方法傳參
//命名函數 function getInfo(name: string, age: number): string { return `姓名:${name}---${age}歲` } alert(getInfo('小紅', 32));
//匿名函數 var getInfo = function (name: string, age: number): string { return `姓名:${name}, 年齡${age}歲` } alert(getInfo("小紅", 44));
//沒有返回值的方法 function fun3(): void { console.log('fun3'); } fun3();
5. 可選參數 加?配置可選參數
function getInfo1(name: string, age?: number): string { return `${name}---${age}`; } alert(getInfo1('張三豐', 44));
6. 預設參數
function getInfo2(name: string, age: number = 30): string { return `${name}---${age}`; } alert(getInfo2('張三豐'));
7. 剩餘函數 三點運算符
function sum(a: number, ...result: number[]) { var sum = 0; for (var i = 0; i < result.length; i++) { sum += result[i]; } return sum; } console.log(sum(1, 2, 3, 4, 5, 6, 7));
8. ts中的函數重載
//ts中的函數重載, 參數不一樣 function getInfo3(name: string): string; function getInfo3(age: number): string; function getInfo3(str: any): any { if (typeof str === 'string') { return '我叫:' + str; } else { return '我的年齡是' + str; } } //alert(getInfo3('張三'));alert(getInfo3(24));
9. ts中的函數重載, 參數一樣
function getInfo5(name: string): string; function getInfo5(name: string, age?: number): string; function getInfo5(name: any, age?: any): any { if (age) { return `我叫:${name},我的年齡是${age}`; } else { return `我叫:${name}`; } } // console.log(getInfo5("張丹", 34)); console.log(getInfo5('大王'));
//箭頭函數 es6 this指向上下文 setTimeout(() => { console.log('happy箭頭函數'); }, 1000);