函数
func age(x:mumber,y:number):number{
return x+y
}
这是一个基础的函数表达方法
函数作为类型
let myFunc:(x:number,y:number) => number = function(x:number,y:number) :number{
return x+y
}
基本上没啥必要这么写,不推荐这种写法
可选参数
function myage(x:number,y?:number):number{
if (y){
return x+y
}
return x
}
// 3
myage(1,2)
// 1
myage(1)
默认参数
function myage(x:number,y = 12){
console.log(x+y)
}
// 3
myage(1,2)
// 12
myage(0)
不定参数
这个概念跟 go 一致
function myage(x:number, ...restNumber: Array<number>){
console.log(x,restNumber.join(" "))
}
myage(1,2,3,4,5)
不过要注意的是,如果是 go 写法是不同的:
package main
import "fmt"
func main() {
myage(1, 2, 3, 34, 4)
}
func myage(x int, restNumber ...int) {
fmt.Println(x, restNumber)
}
剪头函数保留函数创建时的 this 值
let myage = {
name:["li","zhang"],
age:Array(40),
createStudent: function(){
return ()=>{
return {
name:this.name,
age:ag
}
}
}
}