1.声明式函数

函数有两个参数 参数的数据类型是 string number
返回值值 number 哈
function person(name: string, age: number): number {
return age;
} var ageNum: number = person("zahngs", 10); console.log(ageNum);

2.姓别参数不确定使用 有可能没有性别哈。

function person2(name: string, sex?: string): string {
return name;
} var name2: string = person2("张三", "sex"); console.log(name2);

3.函数参数的默认值

function person(name: string = "张三", age: number = 10): number {
return age;
} var p: number = person();
console.log(p);

4类型断言

//在进行类型断言的时候,必须断言成一个联合类型中存在的类型
下面这个例子 只能够断言成 字符串或者是数字。 function getAsse(name: string | number) {
// return (<string>name).length //第一种
return (name as string).length; //第二种 react 中使用这一种
}

5求和哈 运用了扩展运算符哦

<!-- 使用了扩展运算符 将它变成一个伪数组 ...result -->

function sum(...result: number[]): number {
var sum = 0;
for (var i = 0; i < result.length; i++) {
sum += result[i];
}
return sum;
} console.log(sum(1, 2, 34, 5)); //42

6.typescript 中方法的重载 es 这样也可以去做重载 同样根据参数的类型去判断

//根据参数的类型去判断
function getINfo(str: any): any {
if (typeof str === "string") {
return "我叫" + str;
} else if (typeof str === "number") {
return "我今年" + str;
}
}
console.log(getINfo(10)); //我今年 10
原生 es
function getINfo(str) {
if (typeof str === "string") {
return "我叫" + str;
}
else if (typeof str === "number") {
return "我今年" + str;
}
}
console.log(getINfo(10));

7.typeScript中函数类型

函数类型:通过调用接口的方式作为函数的类型来使用
实现一个功能
在str1中查找是否有str2;
如果有返回true,否者返回false // 定义一个接口,用来作为某个函数的类型使用
interface ISearchHas {
(str1:string,str2:string) : boolean
}
//定义一个函数,函数类型就是上面定义的接口
const lookforhas: ISearchHas = function(str1:string,str2:string) :boolean{
return str1.search(str2) > -1
}
console.log(lookforhas("hello",'o'));//true

ts函数讲解与不确定参数是否使用以及限制返回类型的更多相关文章

  1. typedef 返回类型(*Function)(参数表) ——typedef函数指针

    //首先看一下函数指针怎么用 #include <iostream> using namespace std; //定义一个函数指针pFUN,它指向一个返回类型为char,有一个整型的参数 ...

  2. avascript中的this与函数讲解

    徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大 ...

  3. Python函数讲解

    Python函数

  4. Python中高阶函数讲解

    高阶函数讲解 1. 常规高阶函数 递归函数 格式:def func_name(variable): '''__doc__'''#函数的说明文档 if 条件表达式:#限制递归退出值 pass retur ...

  5. python ---split()函数讲解

    python ---split()函数讲解 split中文翻译为分裂. 在python用于分割字符串使用. split()就是将一个字符串分裂成多个字符串组成的列表. split()可以传入参数,也可 ...

  6. MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解

    MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解 by:授客 QQ:1033553122 1. unix_timestamp(date)将时间转换为时间戳,如果参数为空,则 ...

  7. 【Android开发】之Fragment重要函数讲解

    上一节我们讲到了Fragment的生命周期(都是基于android.support.v4.app包下的Fragment),学习之后相信大家对它的生命周期有了很深入的了解了,如果还有不懂得,可以再看一下 ...

  8. js 函数讲解

    函数 来自<JavaScript 标准参考教程(alpha)>,by 阮一峰 目录 概述 函数的声明 函数的重复声明 圆括号运算符,return 语句和递归 第一等公民 函数名的提升 不能 ...

  9. Spark Streaming中的操作函数讲解

    Spark Streaming中的操作函数讲解 根据根据Spark官方文档中的描述,在Spark Streaming应用中,一个DStream对象可以调用多种操作,主要分为以下几类 Transform ...

  10. linux xfs文件系统无法用readdir获取dirent文件类型d_type则用stat获取暨stat函数讲解

    stat函数讲解 表头文件:    #include <sys/stat.h>             #include <unistd.h>定义函数:    int stat ...

随机推荐

  1. JS对象拷贝:深拷贝和浅拷贝

    摘要:对象拷贝,简而言之就是将对象再复制一份,但是,复制的方法不同将会得到不同的结果. 本文分享自华为云社区<js对象深浅拷贝,来,试试看!>,作者: 北极光之夜.. 一.速识概念: 对象 ...

  2. 解析WeNet云端推理部署代码

    摘要:WeNet是一款开源端到端ASR工具包,它与ESPnet等开源语音项目相比,最大的优势在于提供了从训练到部署的一整套工具链,使ASR服务的工业落地更加简单. 本文分享自华为云社区<WeNe ...

  3. 自己搭建git服务器:linux自己Gitlab服务

    github只能保存开源项目,私有项目要收费. 公司的git不想上传个人项目,比如我的博客:  https://www.zhoulujun.cn/.https://www.zhoulujun.co h ...

  4. 火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   由于流量红利逐渐消退,越来越多的广告企业和从业者开始探索精细化营销的新路径,取代以往的全流量.粗放式的广告轰炸 ...

  5. PPT 常规设置

    高级设置 可以将撤销次数调大,最多 150次 默认拉到PPT中的图片是被压缩的,可以设置成不压缩(解压 PPT 可查看里面的图片大小) 字体嵌入 可将自动保存时间调短,默认保存目录我习惯先保存到桌面( ...

  6. 忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码

    忘了 iOS(iPad.IPhone) 设备上的「屏幕使用时间」密码怎么办? 1. 用iTunes 进行备份[备份时一定要输入密码] 备份时C盘要有足够的空间 2. 下载 pinfinder.exe ...

  7. c#-微软

    1)使用c#编写第一个程序简介: c#编程语言允许你构建多种类型的应用程序,例如: 用于捕获,分析和处理数据的业务应用程序 可从Web浏览器访问的动态Web应用程序 2D和3D游戏 金融和科研应用程序 ...

  8. MB51增强

    一.在MB51报表中新增列 包含文件RM07DOCS_GENERATED的itab结构中,新增字段 在RM07DOCS中的detail_list子例程中添加查询逻辑 在子例程build_fieldca ...

  9. 使用jasypt加密配置的时候,报错:DecryptionException: Unable to decrypt

    前几天分享了一篇<Spring Boot 2.x基础教程:加密配置中的敏感信息> ,然后看到群里有小伙伴反应跟着这篇文章出现了这个异常com.ulisesbocchio.jasyptspr ...

  10. vue3引入使用svg图标

    vue3使用svg图标 安装 // 通过命令安装2个插件 npm i vite-plugin-svg-icons -D npm i fast-glob -D 在vue.config.js中配置 //v ...