函数返回值
语法格式:
function function_name():return_type {
// 语句
return value;
}
-
return_type 是返回值的类型。
-
return 关键词后跟着要返回的结果。
-
一个函数只能有一个 return 语句。
-
返回值的类型需要与函数定义的返回类型(return_type)一致。
例.
function getLength(thing:string):number{
return thing.length;
}
带参数函数
语法格式:
function func_name( param1 [:datatype], param2 [:datatype]) {
}
-
param1、param2 为参数名。
-
datatype 为参数类型。
例.
function add(x: number, y: number): number {
return x + y;
}
console.log(add(1,2))
可选参数和默认参数
可选参数:在 TypeScript 函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识?。
如何参数不设置为可选的,(或者参数没有设置默认参数)则参数设置了几个,就需要传递几个参数(不能多也不能少)
可选参数例:
function buildName(firstName:string, lastName?:string):string {
return firstName + lastName;
}
默认参数
语法如下:
function function_name(param1[:type],param2[:type] = default_value) {
}
***************** 参数不能同时设置为可选和默认! *****************
扩展:什么是 void 0 ?
undefined === void 0; // true
void是一元运算符,出现在操作数的左边,操作数可以是任意类型的值,void右边的表达式可以是带括号形式(例如:void(0)),也可以是不带括号的形式(例如:void 0)。
使用void 0代替undefined的原因是?(总结:(1)防止被重写外,(2)可以减少字节)
① 使用void 0比使用undefined能够减少3个字节
>"undefined".length 9 >"void 0".length 6
② undefined并不是javascript中的保留字,我们可以使用undefined作为变量名字,然后给它赋值。void 0输出唯一的结果undefined,保证了不变性。
4. undefined与null的区别?
null代表空值,代表“定义了但是为空”。而undefined的代表未定义。
剩余参数
eg.
function buildName(firstName: string, ...restOfName: string[]) {
return firstName + " " + restOfName.join(" ");
}
let employeeName = buildName("Joseph", "Samuel", "Lucas", "MacKinzie");
Lambda 函数(箭头函数)
语法:
( [param1, parma2,…param n] )=>statement;
例.
var foo = (x:number)=> {
x = 10 + x
console.log(x)
}
foo(100)
函数重载
重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
参数类型不同:
function disp(string):void;
function disp(number):void;
参数数量不同:
function disp(n1:number):void;
function disp(x:number,y:number):void;
参数类型顺序不同:
function disp(n1:number,s1:string):void;
function disp(s:string,n:number):void;
如果参数类型不同,则参数类型应设置为 any。
参数数量不同你可以将不同的参数设置为可选。