Day21-TypeScript(TS)的函式(Function) Part1

经过前两天的函示介绍相信大家对函式(Function)已经有一定程度的了解了吧,
那麽对於TS的函式我们就用实例来看看吧。

函式(Function)加入型别

那我们来看看TS的函式要如何写吧,

function add(x: number, y: number): number {
    return x + y;
}

跟JS写法很相似呢,
特别要注意的地方是,
再传入x与y参数後方都必须加上传入时的型别喔,
以范例来说,
传入的两个值只能是number型别
而且不能多也不能少,
而传入参数的括号後方加上冒号後在加上的型别为传出值得型别,
所以这个函式也必须回传number型别值

那我们来看看实际的使用方式吧,

let i: number = 10;
let j: number = 20;
let m: number  = add(i, j);
console.log(m); //30

这边定义
inumber型别,值为10
jnumber型别,值为20
接着将这两个变数传入上面宣告的函式add()
并请将回传的值带入变数m,且m为number型别
那麽此时m的值就为30 ( 因为i的10 + j的20 )。

不过其实在呼叫函式时也不需要一直加上型别标记(Type Annotation),
因为
大部分的情况下会自动推论型别,可省略Type Annotation
那麽省略後的写法如下,

let i = 10;
let j = 20;
let n = add(i, j);
console.log(n); //30

因为这个范例都直接有明确的值带给变数,
这些变数都能直接透过拿到的值来推论型别,
因此在这不另外再加上型别也式没问题的喔。

今日结语

今天带大家看看TS基本的传入传出函式,
会用函式後,
能做到的事情就会多很多很多喔,
大家也要动动小脑袋瓜想想能做什麽吧~
加油加油。


<<:  Day 21 Flask Blueprint

>>:  效能监视器--Windows的隐藏监控器

Vue.js 从零开始:Slot Props

上篇提到slot传入的内容都是由外层元件提供,如果内层元件slot也想使用内层资料时,就可以使用Sl...

Day 28 - 使用 CDK 创建 CloudWatch Alarm 的含图告警同时发送到 LINE 与 Discord

昨天教大家怎麽简单的在 LINE Notify 上面看到 CloudWatch 的 Alarm,不过...

Day27 React-实作todoList(二)建立子元件

Header元件 第一个元件先从 Header.js 开始 Header要负责 显示标题 待办事项 ...

【Day 23】深度学习实作 --- "Hello world"

今天使用的toolkit是Keras,使用的资料集是MNIST的data,而Keras提供了自动下载...

Day.23 「更加认识 DOM,并初次了解事件绑定」 —— JavaScript DOM

我们之前在 HTML 篇章有介绍 DOM,是 Document Object Model 的缩写!...