一、ts 中的函数定义
1. 函数声明法
function run():string { return 'str'; }
2. 匿名函数
var run = function():number { return 123; }
二、ts 中定义方法传参
var run = function (name:string, age:number):string { return `${name} -- ${age}`;
};
console.log(run('张三', 24));
- 1. 方法可选参数
es5 中方法的实参和形参,可以不一样,但是 ts 中不行,需要配置可选参数
注:可选参数必须配置到参数的最后面
var run = function(name:string,age?:number):string { if (age) { return `${name} -- ${age}`; } else { return `${name} -- 年龄保密`; } } console.log(run('猴子',22)) console.log(run('玛雅'))
2. 默认参数
var run = function(name:string, age:number=123) { return `${name} -- ${age}`; } console.log(run('玛雅'))
3. 剩余参数
使用三点运算符接收多个参数
var run = function(...rest:number[]):number { var sum = 0 rest.forEach(item => { sum += item }) console.log(sum) return sum } run(1,2,3,4,5)
三、函数重载
java 中方法的重载: 重载指的是两个或者两个以上同名函数,但它们的参数不一样,这时会出现函数重载的情况。
typescript 中的重载:通过为同一个函数提供多个函数类型定义来实现多种功能的目的。
ts 为了兼容 es5 和 es6,重载的写法与 java 有区别。
function getInfo(name:string):string; function getInfo(age:number):string; function getInfo(str:any):any { if (typeof str === 'string') { return `我叫${str}` } else { return `我的年龄是${str}` } } alert(getInfo('张胜男')) // 正确写法 alert(getInfo(123)) // 正确写法 alert(getInfo(true)) // 错误写法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。