function sum(x: number, y: number): number { return x + y; }
注意,输入多余的(或者少于要求的)参数,是不被允许的:
1 2 3 4 5 6 7 8 9 10 11 12 13
function sum(x: number, y: number): number { return x + y; } sum(1, 2, 3);
// index.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target. `````` function sum(x: number, y: number): number { return x + y; } sum(1);
// index.ts(4,1): error TS2346: Supplied parameters do not match any signature of call target.
函数表达式
如果要我们现在写一个对函数表达式(Function Expression)的定义,可能会写成这样:
1 2 3
let mySum = function (x: number, y: number): number { return x + y; };
function reverse(x: number | string): number | string | void { if (typeof x === 'number') { return Number(x.toString().split('').reverse().join('')); } else if (typeof x === 'string') { return x.split('').reverse().join(''); } }
function reverse(x: number): number; function reverse(x: string): string; function reverse(x: number | string): number | string | void { if (typeof x === 'number') { return Number(x.toString().split('').reverse().join('')); } else if (typeof x === 'string') { return x.split('').reverse().join(''); } }