반응형
📝function
function liveDangerously(x?: number | null) {
// No error
console.log(x!.toFixed());
}
/** ---- function ---- **/
function hello(name?: string, age?: number, hobby?: string | undefined){
return `Hello, ${name}. You are ${age}. and My Hobby is ${hobby}`;
}
console.log(hello("Lee", 30)); // Hello, Lee. You are 30. and My Hobby is undefined
// 예시2
// void 리턴인 경우 리턴 값이 있을 수도 없을 수도 있다
type voidFunc = () => void;
const f1: voidFunc = () => {
return true;
};
/** ---- Function ---- **/
// Function은 함수계의 any이다
function doSomething(f: Function) {
return f(1, 2, 3);
}
📝나머지 인자값
/** ---- rest parameters ---- **/
function add(...nums: Array<number>) {
return nums;
}
console.log(add(1,2,3,4,5,6)); // [ 1, 2, 3, 4, 5, 6 ]
📝this
/** ---- this ---- **/
interface User {
name: string
}
const Sam: User = {name:'Sam'}
function showName (this:User, age: number, gender: 'm'|'f') {
console.log(this.name, age, gender)
}
const userInfo = showName.bind(Sam); // bind()는 this 값을 셋팅해주는 작업이다.
userInfo(10,'m'); // Sam 10 m
반응형