728x90
JavaScript ๐ฉ
function jsAdd(num1, num2) {
return num1 + num2;
}
TS ๋ณํ ํ๊ธฐ
TypeScript โจ
function add(num1: number, num2: number): number {
return num1 + num2;
}
number ํ์ ์ซ์๋ฅผ ์ง์ ํด ์ฃผ๊ณ return numberํ์ ์ผ๋ก ์ง์ ํด ์คฌ๋ค
JavaScript ๐ฉ
function jsFetchNum(id) {
// code ...
// code ... ๋ง์ ์ฝ๋
// code ...
return new Promise((resolve, reject) => {
resolve(100);
});
}
TS ๋ณํ ํ๊ธฐ
TypeScript โจ
function fetchNum(id: string): Promise<number> {
// code ...
// code ... ๋ง์ ์ฝ๋
// code ...
return new Promise((resolve, reject) => {
resolve(100);
});
}
id: string ํ์ ์ ํ ๋นํ๊ณ Promise number๋ก ๋ฆฌํดํด ์คฌ๋ค
ํจ์ ํ์ ์ด์ฉ
JavaScript โจ => TypeScript
Optional parameter
์ด๋ฆ์ ๋ง๋๋ ํจ์ ์ ์
function printName(firstName: string, lastName?: string) {
console.log(firstName);
console.log(lastName); // undefined
}
printName('Steve', 'Jobs');
printName('Sein');
printName('Mina');
๋๊ฐ์ง์ ์ธ์๋ฅผ ์ค์ ํ์ ๋ 1๊ฐ๋ง ์ธ์๋ฅผ ๋ณด๋ด๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
?: (์ฌ์ฉํ๋ค) Optional parameter
์ ๋ฌ ํ ์ ์๊ณ ์ ๋ฌ ์ ํ ์๋ ์๋ค
Default parameter
function printMessage(message: string = 'default message') {
console.log(message);
}
printMessage();
string = 'default message'
๊ธฐ๋ณธ ๋ฉ์์ง๋ฅผ ์ค์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค. ํ์ ์ค์ ํ ์ ๋ ฅํด์ค๋ค
Rest parameter
function addNumbers(...numbers: number[]): number {
return numbers.reduce((a, b) => a + b);
}
console.log(addNumbers(1, 2));
console.log(addNumbers(1, 2, 3, 4));
console.log(addNumbers(1, 2, 3, 4, 5, 0));
...numbers: number[]
... Rest parameter ์ด๋ค
ํจ์ ์ธ์๋ฅผ ์ ๋ฌ ํ ๋ ์ฌ์ฉํ๋ค.
๋ฐฐ์ด ์ธ์๋ฅผ ํ๋ฒ์ ๋ฐ์ ์ฌ ๋ ์ฌ์ฉํ๋ค.
'Node > TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
7.Union (0) | 2021.04.17 |
---|---|
6.Aliases (0) | 2021.04.15 |
5.๋ฐฐ์ด Array or Tuple (0) | 2021.04.15 |
3.๊ธฐ๋ณธ ํ์ (2) (0) | 2021.04.14 |
2. ๊ธฐ๋ณธ ํ์ (1) (0) | 2021.04.14 |
๋๊ธ