Optional and default parameter
"use strict";
function hello(name: string = 'jason', age?:number) : string {
if(age){
console.log(age);
}
return name;
}
let result = hello("angela", 18);
console.log(result);
Rest parameters
"use strict";
function hello(name: string, ...userIds: number[]) : void {
console.log(name);
userIds.forEach(element => {
console.log(element);
});
}
hello("jason", 1,2,3);
overloading
"use strict";
function getBook(id : number) : void;
function getBook(title:string) : void;
function getBook(bookProperty: any) : void{
if(typeof bookProperty == 'string'){
console.log(`book title: ${bookProperty}`);
}
else if(typeof bookProperty == 'number') {
console.log(`book id: ${bookProperty}`);
}
}
getBook(1);
getBook("Harry potter");