一、默认参数
1、类似选择传参
//默认参数-可以选择不传function fun(num: number, s:string="hello world"):string{ return num + s;}fun(20);
二、选择传参
// age?: number 表示可选参数(传与不穿都可以)// 注意:可选参数要放到参数的 最后面 定义function func(name:string, age?: number):any{ if(age) { return name + age; } else { return name; }}fun ('张三')
三、三点运算符
export default defineComponent({ name: 'Test', setup() { const fun = (...res: number[]): number => { let sum = 0; for(let i = 0; i < res.length; i++) { sum += res[i]; } return sum; } alert(fun(1, 2, 3, 4, 5)); // 传多个参数(会将参数赋值给res) return { fun } },});</script>
四、ts中函数的重载
1、写法1:
export default defineComponent({ name: 'Test', setup() { function fun(name: string): string function fun(age: number): string function fun(params: any): any { if (typeof(params) === 'string') { return '我的名字是:' + params; } else { return '我的年龄是:' + params; } } // 传入什么类型的参数,走那个参数类型的函数 alert(fun(20)); // 我的年龄是:20 alert(fun('张三')); // 我的名字是:张三 return { fun } },});</script>
2、写法2:
export default defineComponent({ name: 'Test', setup() { function fun(name: string): string function fun(name:string, age: number): string function fun(name:string, age?: any): any { if (age) { return '我的名字是:' + name + '我的年龄是:' + age; } else { return '我的名字是:' + name; } } alert(fun('张三', 18)); return { fun } },});</script>