-
5.30 TypeScript의 함수 포팅코드스테이츠 2023. 5. 31. 16:07
/* 작성 후 터미널에 1. tsc src/index.ts 2. node src/index.js 라고 치면 결과를 확인해볼 수 있습니다. */ /* 1-1번 */ function sumNumber(a, b) { return a + b; } /* 1-2번 */ const sumNumber2 = (a, b) => { return a + b; }; /* 2번 */ let sumString = (first, last) => { return `${first} ${last}`; }; console.log(sumString('hi', 'codestates')); /* 3번 */ let sumString2 = (first, last) => { return `${first} ${last}`; }; //아래 코드도 동작하도록 구현해봅시다. console.log(sumString2('hi')); /* 4번 */ let printError = () => { console.log('error message'); };
/* 작성 후 터미널에 1. tsc src/index.ts 2. node src/index.js 라고 치면 결과를 확인해볼 수 있습니다. */ /* 1-1번 */ function sumNumber(a: number, b: number): number { return a + b; } /* 1-2번 */ const sumNumber2 = (a: number, b: number): number => { return a + b; }; /* 2번 */ let sumString = (first: string, last: string): string => { return `${first} ${last}`; }; console.log(sumString('hi', 'codestates')); /* 3번 */ let sumString2 = (first: string, last?: string): string => { return `${first} ${last}`; }; //아래 코드도 동작하도록 구현해봅시다. console.log(sumString2('hi')); /* 4번 */ let printAnswer = (): void => { console.log('error message'); };
💁♀️ 다음 TypeScript로 작성한 코드가 바른가요? (이번 코드에서는 타입 추론 기능을 활용하지 않습니다.)
let add = (x: number, y: number) => { return x + y; };
🔈 해설
정답 X
타입 추론 기능을 활용하지 않는다고 가정했을 때, 해당 함수는 반환값이 존재하는 함수이므로, 괄호 뒤에 콜론(:)을 붙이고 반환되는 타입을 기재해야 합니다. 여기서 반환되어야 하는 타입은 number여야 하므로, 콜론(:)을 붙이고 한 칸 띄운 다음 number를 작성합니다.let add = (x: number, y: number): number => { return x + y; };
💁♀️ 다음은 JavaScript로 작성된 코드입니다. 해당 코드를 TypeScript로 올바르게 변환한 코드를 골라주세요. (이번 코드에서는 타입 추론 기능을 활용하지 않습니다.)
let printNumber = (num) => { console.log(`번호는 ${num} 입니다.`); }
🔈 해설
정답
타입 추론 기능을 활용하지 않는다고 가정했을 때, 해당 printNumber 함수는 반환값이 없는 함수이므로, void를 사용해야 적절합니다.
let printNumber = (num: number): void => { console.log(`번호는 ${num} 입니다.`); }
'코드스테이츠' 카테고리의 다른 글
5.30 TypeScript의 연산자 활용 타입 유니온(Union) 타입과 인터섹션(Intersection) 포팅 (0) 2023.05.31 5.30 TypeScript의 연산자 활용 타입 (0) 2023.05.31 5.30 TypeScript의 함수 (0) 2023.05.30 5.30 TypeScript의 타입 포팅 (0) 2023.05.30 5.30 TypeScript의 타입 (0) 2023.05.30