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
注意:可选参数要放在必选参数的后面,默认参数的前面。