Typescript的参数新特性

时间:2021-09-04 16:04:26

Typescript的参数新特性

一、参数类型

Typescript中允许对变量进行指定类型
指定方式为冒号加指定的类型名称
var myname:string = 'ren'; // 字符串
var age:number = 18; // 数字
var isTrue:boolean = true; // 布尔值

function test():void{
//函数不返回值
}

*注意*Typescript的类型推断机制,也就是说如果我们不指定变量的类型,ts会对我们自行对该值的类型进行推断。这时,如果我们想让一个值不受类型的拘束。可以使用:any。

var alias:any = 'hhh'; // 任何类型
自定义类型
自定义类型Person/=。

class Person {
name:string
age:number
}
var ren:Person = new Person();

在函数参数中指定类型

function doSomething(name:string, age:number) {
//doSomething
}

当给函数参数指定类型后,当我们调用该函数并传入参数后,ts会对我们传入的参数类型进行检查。

二、参数默认值

在参数声明后用等号来指定参数的默认值

function test(a:string, b:string="hhh") {
console.log(a);
console.log(b);
}
test("eee"); //输出"eee" "hhh"

调用test函数时我们只给a参数赋了值,b参数使用的是默认值
注意: 默认参数只能放在所有参数的最后。

可选参数

用问号表明此参数是可选的

function test(a:string, b?:string, c:string="hhh") {
console.log(a);
console.log(b);
console.log(c);
}
test("eee"); //输出"eee" undefined "hhh"

可以看到test函数中的b参数为可选参数,在调用test函数时我们只为a参数赋了值,c有默认参数值,b可选没有赋值,输出undefined
注意:可选参数要放在必选参数的后面,默认参数的前面。