首页 > 其他分享 >3、函数

3、函数

时间:2023-12-04 19:55:06浏览次数:30  
标签:function return 函数 getInfo number 参数 string

typescriptJavaScript函数添加了额外的功能:

  • 指定返回值类型
  • 指定传参的类型
  • 可选参数和默认参数
  • 剩余参数
  • 重载

指定返回值类型

function getInfo():number{
    return 123;
}
console.log(getInfo());  //123

上面代码定义了一个返回值类型为数字的函数

指定传参的类型

function getInfo(num1:number,num2:number):number{
    return num1 + num2;
}
console.log(getInfo(1,4));  //5

可选参数和默认参数

JavaScript里面的方法实参和形参可以不一样,但是typescript中必须一样,如果不一样就必须配置可选参数(在参数后面紧跟一个问号)

function getInfo(name:string,age?:number):string{
    if(age){
       return `${name} --- ${age}`;
    }else{
         return `${name} --- 年龄保密`;
    }
    
}
console.log(getInfo(1,4));  //5

可选参数需要写在最后面

ES6typescript中都可以设置默认参数

function getInfo(name:string,age:number=20):string{
    return `${name} --- ${age}`;
}
console.log(getInfo(1,4));  //5

上面代码给age设置了默认参数20

用接口定义函数的形状

interface SearchFunc {
    (source: string, subString: string): boolean;
}

let mySearch: SearchFunc;
mySearch = function(source: string, subString: string) {
    return source.search(subString) !== -1;
}

剩余参数

当你并不知道会有多少参数传递进来,可以使用ES6中的点运算符。

function sum(name:string,...result:number):string{
    let sum = 0;
    for(let i = 0;i<result.length;i++){
        sum+=result[i]
    }
    return `${name} --- ${sum}`;
}
console.log(sum('加法运算',1,2,3,4));  // 加法运算 --- 11

剩余参数要写在最后面

重载

java中方法的重载:重载指的是两个或者两个以上同名函数,但它们的参数不一样,这时会出现函数重载的情况。
typescript中的重载:通过为同一个函数提供多个函数类型定义来实现重载。

function getInfo(name:string):string;
function getInfo(age:number):string;
function getInfo(str:any):any{
    if(typeof str === 'string'){
    	return '我叫' + str;   
    }else{
        return '我的年龄是:' + str;
    }
}
console.log(getInfo('张三'));      //我叫张三
console.log(getInfo(12));      //我的年龄是:12

标签:function,return,函数,getInfo,number,参数,string
From: https://www.cnblogs.com/ewar-k/p/17875765.html

相关文章

  • 无涯教程-Erlang - abs函数
    该方法返回指定数字的绝对值。abs-语法abs(X)X - 为绝对值功能指定一个值。abs-返回值返回值是数字的绝对值。-module(helloLearnfk).-export([start/0]).start()->Aabs=abs(-3.14),io:fwrite("~p~n",[Aabs]).当我们运行上述程序时,我们将得到以下......
  • es6 类中的箭头函数和普通函数
    在ES6(ECMAScript2015)中,引入了箭头函数(ArrowFunctions)这一新特性。箭头函数与普通函数相比,主要有以下区别:语法:普通函数使用function关键字进行定义,例如:functionmyFunction(){/*code*/}。箭头函数则使用箭头语法进行定义,例如:(()=>{/*code*/})或(param1,param2)......
  • 无涯教程-Erlang - log函数
    该方法返回指定值的对数。log-语法log(X)X - 为对数函数指定一个值。log-返回值返回值是表示对数值的浮点值。-module(helloLearnfk).-import(math,[log/1]).-export([start/0]).start()->Alog=log(3.14),io:fwrite("~p~n",[Alog]).当我们运行上......
  • C语言常用函数
    C语言常用函数1.交换两个变量的值基本思路:使用临时变量来交换两个变量的值#include<stdio.h>intmain(){ inta=5; intb=10; inttemp; printf("Beforeswapping:a=%d,b=%d\n",a,b); temp=a; a=b; b=temp; printf("Afterswapping:a=%d,b=......
  • 双曲函数
    双曲正弦双曲余弦双曲正切表达式\(\sinhx=\frac{e^{x}-e^{-x}}{2}\)\(\coshx=\frac{e^{x}+e^{-x}}{2}\)\(\tanhx=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}\)对称性奇函数偶函数奇函数值域\(\mathbb{R}\)\([1,+\infty)\)\((-1,1)\)单调性严格增在\([......
  • 四. 多态性和虚函数
    文章参考:《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客1.多态性概述所谓多态性,就是不同对象接收不同消息时,产生不同的动作。这样就可以用相同的接口访问不同的函数,从而实现一个接口,多种方法。从实现方式上看,多态性分为两种:编译时多态:在C++......
  • 六. 函数模板和类模板
    文章参考:《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客1.引入在编写函数和类时,有时会出现这样的情况,具体实现方式完全一致,但因此参数类型、返回值类型、数据类型等因素的不同,导致不得不写多个函数或者类(因为C++是强类型语言,无法隐式转换,且有些......
  • C++ 内联函数 inline
    宏定义实现和普通函数实现:-宏定义是直接在实现的时候进行代码替换,可能产生结果异常问题。-普通函数实现:调用函数进出函数体的时候时间开销可能过大。1#include<iostream>2usingnamespacestd;3//宏实现4#defineGETMAX(a,b)((a)>(b)?(a):(b))......
  • Java 函数式接口
    在Java中,函数式接口(functionalinterface)是指仅包含一个抽象方法的接口。这种类型的接口通常用于表示简单的函数签名,并可与lambda表达式或方法引用结合使用,从而提供一种更简洁、更灵活的编程方式。Java8引入了函数式接口的概念,以及一个新的注解@FunctionalInterface。这个注解......
  • vue3 setup 父组件向子组件传递参数、方法|子组件向父组件传递数据,函数
    https://blog.csdn.net/qq_27517377/article/details/123163381https://blog.csdn.net/qq_27517377/article/details/123166367vue3setup父组件向子组件传递参数参数<template><el-rowclass="mb-4"> <el-buttontype="danger">props.vue传......