Typescript(4): Function(1)
[리턴값이 있는 함수 - 예시 코드]
// number 리턴 함수
function add(a: number, b: number): number {
return a + b;
}
// bool 리턴 함수
function isAdult(age: number): boolean {
return age > 19;
}
console.log(add(1, 2));
console.log(isAdult(20));
3
true
[리턴값이 없는 함수 - 예시 코드]
// void 리턴 함수
function abs(a: number, b: number): void {
let res: number;
res = a - b;
console.log(res);
}
abs(1, 2);
-1
[리턴값이 없는 함수 - 예시 코드]
// void 리턴 함수
function abs(a: number, b: number): void {
let res: number;
res = a - b;
console.log(res);
}
abs(1, 2);
-1
[선택적 매개변수에 따라 리턴값이 달라지는 함수 - 예시 코드]
// 선택적 매개변수에 따라 리턴값이 갈리는 함수
function hello(name?: string): string {
return `Hello, ${name || "World"}`;
}
Hello, World
Hello, LeeDongYoo
[매개변수와 선택적 매개변수에 따라 리턴값이 달라지는 함수 - 예시 코드]
선택적 매개변수는 맨 앞에 두지 않도록 주의한다.
// 매개변수와 선택적 매개변수에 따라 리턴값이 갈리는 함수
function logIn(id: string, pw?: number): void {
if (pw !== undefined) {
console.log("Welcome!");
}
else {
console.log("Please, input your pw.");
}
}
Please, input your pw.
Welcome!
[C#의 params와 비슷한 매개변수를 갖는 함수 - 예시 코드]
...
을 매개변수 앞에 사용하면, 1차원 배열로 매개변수의 갯수와 상관없이 넘길 수 있다.
선택적 매개변수는 맨 앞에 두지 않도록 주의한다.
// C#의 params와 비슷한 매개변수를 갖는 함수
function sum(...nums: number[]): number {
return nums.reduce((result, num) => result + num, 0);
}
6
55
[this와 bind로 한정하는 함수 - 예시 코드]
// this로 한정하기
interface User {
name: string;
}
const Sam: User = { name: 'LeeDongKyoo' };
function showName(this:User) {
console.log(this.name);
}
const a = showName.bind(Sam);
LeeDongKyoo
댓글남기기