您的位置:首页 > 其它

TypeScript基础学习笔记(二)

2019-05-11 20:02 239 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Li5004/article/details/90114179

Typescript中的函数

  1. 函数的定义
//js中函数的声明
function fun () {
return 'string';
}
//typescripe中的函数的声明
function fun () : string {
return 'string';//定义function时指定返回值的类型
}
//匿名
let fun2 = function () :number{
return 123;
}

//定义方法中传参
function fun3 (name:string,age:number) :string{
return `${name} --- ${age} `;
}
alert(fun3('wen',23));

//没有返回值
function run () : void{
console.log('run');
}
run()
  1. 方法可选参数
function getInfo(name:string,age?:number) : string {//加?表示该参入可以不传入
if(age){
return `${name} --- ${age}`
}else{
return `${name}` };
}
  1. 默认参数
function getInfo(name:string,age:number = 20) : string {当输入的参数没有age时,会显示默认参数的值,传入参数时则显示传入的参数的值
if(age){
return `${name} --- ${age}`
}else{
return `${name}` };
}
  1. 剩余参数
function sum (a:number,b:number,c:number):number {
return a+b+c ;
}
//三定运算符接收新参传过来的值
function sum (...resuylt:number[]):number {
let sum = a;
for(let i=0;i<resule.length;i++) {
sum+ = result[i];
}
return sum;
}
alert(sum(1,2,3,4,5,6));
  1. 函数重载
//java中方法的重载:指的是两个或两个以上同名函数,但它们的参数不一样,这时会出现函数重载的情况;
//ts中的重载:通过为同一个函数提供多个函数类型丁来实现多种功能的目的;

//es5中出现同名方法,后出现的会替换掉前面出现的
function css (config:any):any {
}
function css (config:any,value:any):any {
}
//ts中
function getInfo (name:string) : string;
function getInfo (age:number) : number;
function gerInfo (str:ant) : any {
if( typeof str === 'string' ) {
return 'I'm:‘ + str ;
} else {
return  'age:’ + str ;
}
}
alert ( getInfo('wen‘));---结果:I'm:wen;
alert ( getInfo('20')); --- 结果: age:20;
function getInfo (name:string) : string;
function getInfo (name:string,age:number) : number;
function gerInfo (str:ant) : any {
if( typeof str === 'string' ) {
return '我叫’ +name+ 'age'+age ;
} else {
return  '我叫:’ + name ;
}
}
alert (getInfo('wen')) ;//正确
//alert(getInfo(20));//错误
  1. 箭头函数 es6
//this指向的问题:箭头函数里的this指向上下文
setTime(()=>{
alert('run');
},1000)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: