博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript从入门到精通(五)函数参数和返回类型定义
阅读量:3928 次
发布时间:2019-05-23

本文共 1338 字,大约阅读时间需要 4 分钟。

前言:学习本节之后,就会对函数的参数和返回值类型定义有通透的了解
易错:我们写的代码其实是有一个小坑的,就是我们并没有定义getTotal的返回值类型,虽然TypeScript可以自己推断出返回值是number类型。 但是如果这时候我们的代码写错了,比如写程了下面这个样子。
function getTotal(one:number,two:number){
return one+two +""}const total =getTotal(1,2)那么tatal就不是number类型了 ,但是不会报错
正确写法:
正确是写法-返回值为numberfunction getTotal(one:number,two:number):number {
return one + two } const tatal = getTotal(1,2)这样写就必加严谨了 可以看出tatal的类型为number
常见的函数返回值:void ,never,函数参数为对象
void:函数没有返回值
在实际工作中有很多函数是没有返回值的 例如function sayhello() {
console.log("hello world")}这就是没有返回值的函数,我们就可以给他一个类型注解void,代表没有任何返回值。 function sayhello():void {
console.log("hello world") }如果这样定义后,你再加入任何返回值,程序都会报错
never:如果是一个永远都执行不完的函数,就可以定义为never
执行的时候,抛出了异常,这时候就无法执行完了 function errFuncyion() {
throw new Error() console.log("hello world") }还有就是循环 function forNever() {
while(true){
} console.log("helo world") }
函数参数为对象时:

易错:

这个坑是大家都喜欢往里跳的我们如何定义参数对象的属性类型。我先写个一般javaScript的写法。function add({
a,b}){
return a + b } const three = add({
a:1,b:2}) console.log(three) 此时three的类型为any 这时很多人容易这样写 错误代码示例 function add({
a:number,b:number}){
return a + b } const three = add({
a:1,b:2})//你在编辑器中会看到这种写法是完全错误的。
正确写法:
function getNumber({
one }:{
one:number}):number {
return one; }const one = getNumber({
one: 1 });这样写才是正确的写法,

转载地址:http://xgkgn.baihongyu.com/

你可能感兴趣的文章
微软2020开源回顾:止不住的挨骂,停不下的贡献
查看>>
说说 RabbiMQ 的应答模式
查看>>
OpenTelemetry - 云原生下可观测性的新标准
查看>>
使用 ML.NET 实现峰值检测来排查异常
查看>>
通过 .NET NativeAOT 实现用户体验升级
查看>>
如何友好的处理 WebApi 中抛出的错误
查看>>
因MemoryCache闹了个笑话
查看>>
Dotnet的垃圾回收
查看>>
乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时
查看>>
gRPC在C#中的未来属于grpc-dotnet
查看>>
快速排序的性能和名字一样优秀
查看>>
开源推荐:Asp.Net Core入门学习手册!
查看>>
ML.NET 示例:对象检测
查看>>
C#基于yolov3的行人检测
查看>>
ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
查看>>
WPF 修改(优化)Menu菜单的样式
查看>>
我开发了一款基于web容器的前端项目容器
查看>>
WPF实现环(圆)形菜单
查看>>
WPF 写一个提醒工具软件(完整项目)
查看>>
Windows 11 快速体验:开始菜单居中,全系圆角设计!
查看>>