μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- μλ°μ€ν¬λ¦½νΈ
- Firebase
- λΆνΈμΊ ν
- Redux
- μκ³ λ¦¬μ¦
- 리μ‘νΈ
- νμ€
- react
- API
- NEXT
- νλ‘ νΈμλ
- λ³μ
- wil
- νμ
- K-Digital
- native
- μ¨λΌμΈ
- μλ¬
- JavaScript
- PROJECT
- JS
- κ°λ°μ
- νλ‘μ νΈ
- type
- λ΄μΌλ°°μμΊ ν
- trainning
- μ½λ©
- ν¨μ
- rn
- λ΄μΌλ°°μ
- Today
- Total
Frontend κ°λ°μ - hyo.loui
νμ μ€ν¬λ¦½νΈ - Function (ν¨μ) νμ λ³Έλ¬Έ
π―λͺ©μ :
Type Script ν¨μ νμ μ 리 λ° λ³΅μ΅
1. JSμ λΉκ΅
JS
// js
function add(n1, n2) {
return n1 + n2;
}
TS
function add(num1: number, num2: number): number {
return num1 + num2;
}
console.log("ππ add", typeof add(3, 4)); //ππ add number
π§ͺλμ μ€νμ€
// μ€ν
const one1 = add(1, 2);
const two = add(1, "2"); // Error
const three = add(1, 2, 3); // Error
const four = add(1); // Error
// νλΌλ―Έν°μμ returnλλ νμ
μ΄ λ°λλ건 λΆκ°λ₯
function add_error(num1: number, num2: number): string {
return num1 + num2;
}
// νμ
μ μΈλμ§ μμ ν¨μμμλ jsμ λμΌνκ² stringμΌλ‘ λ°νμν¨λ€
const addArrow = (num1: number, num2: string) => {
return num1 + num2;
};
console.log("ππ addArrow", addArrow(3, "4")); //ππ addArrow 34
2. λ°νκ°μ΄ μλ νμ : void
μ°λ¦¬κ° νμ ν¨μμ return μμ΄ μ΄λ ν μ€νλ§μ ν κ²½μ°κ° μμ κ²μ΄λ€.
κ·Έ λ returnμ΄ μμ΄λ λλ―λ‘ voidλ₯Ό λͺ μν΄ μ½κ² μμ μλ€.
// λ°νκ°μ΄ μλ νμ
: void
function printResult(num: number): void {
console.log("Result" + num);
}
printResult(5); // Result5
3. Optional Parameter
νλΌλ―Έν°μ λ³μλͺ λ€μ '?'λ₯Ό μΆκ°ν΄ μ£Όλ©΄ ( type: μ§μ νμ | undefined )κ° λ€μ΄κ°λ€.
// Optoinal Parameter
function add2(num1: number, num2?: number): number {
if (!num2) {
return num1;
}
return num1 + num2;
}
const one = add2(1, 2);
console.log("ππ one", one); // ππ one 3
const two = add2(10, 20, 30); // Error
console.log("ππ two", two); // Error
const three = add2(10);
console.log("ππ three", three); // ππ three 10
4. Default Parameter ( νλΌλ―Έν° κΈ°λ³Έκ° )
JSμ νΉμ±μ΄λΌκ³ ν μ μλ€.
TSμλ§ μλ κΈ°λ₯μ μλλ€
: type = default value
// Default Parameter
function add3(num1: number, num2: number = 0) {
return num1 + num2;
}
const a3 = add3(10 + 2);
console.log("ππ a3", a3); // ππ a3 12
const b3 = add3(10);
console.log("ππ b3", b3); // ππ b3 10
μμ²λΌ μΈμκ° 1κ°λ§ μ λ¬μ΄ λμ΄λ κΈ°λ³Έκ°μ΄ μκΈ° λλ¬Έμ μλ¬κ° λ°μνμ§ μλλ€.
5. Rest Parameter ( ...params )
JSμ νΉμ±μ΄λΌκ³ ν μ μλ€.
TSμλ§ μλ κΈ°λ₯μ μλλ€
νλΌλ―Έν°κ° μ μμ΄ λ§λ€λ©΄ μλΉν λ²κ±°λ‘κ³ κ³€λν κ²μ΄λ€.
νμ§λ§ es6μμ μ§μνλ rest parameterλ‘
μ½κ² νλΌλ―Έν°λ₯Ό μ λΆ λμ΄ν΄ μ£Όλ κΈ°λ₯μ μ΄μ© ν μ μλ€.
// Rest Parameter
function add4(num1: number, ...nums: number[]) {
let totalOfNums = 0;
for (let key in nums) {
totalOfNums += nums[key];
}
return num1 + totalOfNums;
}
const a4 = add4(10, 20, 30, 40);
console.log("ππ a4", a4); // ππ a4 100
μ΅μ’ μ 리
- ν¨μ, νλΌλ―Έν° κ° typeμ μ§μ ν΄ μ€ μ μλ€.
- ν¨μμ νμ μ μλ΅μ΄ κ°λ₯νκ³ , μΆλ‘ μ΄ λΉκ΅μ μ½κΈ° λλ¬Έμ μ£Όλ‘ μλ΅νλ€.
- return κ°μ΄ μμ κ²½μ° : void
- νλΌλ―Έν°κ° λ€μ΄μ€μ§ μλ κ²½μ° νλΌλ―Έν° λ³μλͺ μμ ?λ‘ μ΅μ λ체μ΄λ κ°λ₯!
- νλΌλ―Έν°μ κΈ°λ³Έκ° μ€μ κ°λ₯ ( param: number = 3 )
- νλΌλ―Έν° λ§μ§λ§μ (...λ¬Έλ²) Rest Parameters μ¬μ©ν΄μ νλΌλ―Έν° μλ΅ κ°λ₯
'Typescript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νμ μ€ν¬λ¦½νΈ - Type Alias (νμ λ³μΉ) (0) | 2023.01.18 |
---|---|
νμ μ€ν¬λ¦½νΈ - Union (μ λμ¨) νμ (0) | 2023.01.17 |
νμ μ€ν¬λ¦½νΈ - Enum (μ΄λ) (0) | 2023.01.17 |
νμ μ€ν¬λ¦½νΈ - κΈ°λ³Έ νμ (0) | 2023.01.17 |
νμ μ€ν¬λ¦½νΈ - κ°λ κ³Ό νκ²½ μΈν (0) | 2023.01.16 |