前一篇我们介绍了基础物件型别,今天要来介绍同样是物件型别之一的函式型别,让我继续探索 TypeScript,Go~
在一开始我们有个 askAge
的函示,将会回传一个字串,我们要来一一完成 TypeScript 的要求。
首先定义好函式,很快的,就得到了 TypeScript 的型别推论了。
let askAge = (name, age) => {
return `${name} is ${age} years old.`
}
let ageQuestion = askAge('CY', 28)
let askAge = (name: string, age: number) => {
return `${name} is ${age} years old.`
}
let ageQuestion = askAge('CY', 28)
将参数注记上型别後,看来一切就正常了,但是接下来我们要更完整使用 TypeScript,因此我们要在输出的变数 ageQuestion
上也加上型别,这样我们可以更安心使用。
let askAge = (name: string, age: number): string => {
return `${name} is ${age} years old.`
}
let ageQuestion: string = askAge('CY', 28)
let askAge = (name: string, age: number):string => {
return `${name} is ${age} years old.`
}
// 将 28 从 number 改为 string 时,喷错了
let ageQuestion: string = askAge('CY', '28')
TypeScript 会进一步提醒我们,参数型别错误。
let askAge = (name: string, age: number) => {
// 没有回传值
`${name} is ${age} years old.`
}
let ageQuestion: string = askAge('CY', 28)
如果需要回传值,必须乖乖的把 return
加上去 。
void
let askAge = (name: string, age: number): void => {
`${name} is ${age} years old.`
}
any
let askAge = (name: any, age: any): any => {
return `${name} is ${age} years old.`
}
let ageQuestion: any = askAge('CY', 28)
如果使用 any
注记,这样使用 TypeScript 就失去了使用它的意义了。
今天探讨了函式的型别推论与注记,除了参数要定义型别以外,还有记得要定义是否要回传值,要的话会是什麽型别,明天让我们继续往下探索吧!
<<: Vue.js 从零开始:Hoisting , undefined,not defined
前五天,我们讲解了BERT模型的核心概念、输入输出以及模型的类型,现在让我们进入模型的结构、原理部分...
将你所购买的网域名称,透过 Cloudflare 来设定 DNS 的好处多多。除了可以预防一些基本的...
一、基本面 基本面分析是一种证券或股票估价的方法,利用财务分析和经济学上的研究来评估企业价值或预测证...
前言一 因为一些原因,今天应该是我铁人赛的完赛日。完成了 20%,剩下的 80%,就留给大家去阅读更...
Colab连结 资料增强(Data Augmentation),是一个当今天资料集样本不多时,透过调...