
π ν¨μλ μ΄λ κ² μκ°νλ©΄ μ¬μμ:
βμ΄λ€ κ°μ λ°κ³ β μ΄λ€ κ°μ λλ €μ€λ€β
function func(a: number, b: number): number {
return a + b;
}
β μλ―Έ
const add = (a: number, b: number): number => a + b;
β μ ν¨μλ μμ ν λμΌ
π μμ¦ JS/TSμμ λ λ§μ΄ μ (μ€μπ₯)
function introduce(name = 'army', age: number, tall?: number)
β μλͺ»λ μ
function test(a?: number, b: number) {}
if (typeof tall === 'number') {
π "μ΄ κ°μ΄ μ§μ§ numberμΈμ§ νμΈ"
β μ΄μ
β undefinedμΌ μλ μμ΄μ μ€λ₯ λ°©μ§
function getSum(...rest: number[])
π μ¬λ¬ κ° κ°μ λ°°μ΄λ‘ λ°μ
getSum(1,2,3) β [1,2,3]
β μ€μ ν¬μΈνΈ
type Operation = (a: number, b: number) => number;
π ν¨μ νμ μ 미리 μ μ
const add: Operation = (a, b) => a + b;
π μ½λ μ¬μ¬μ© κ°λ₯ (μ€λ¬΄μμ λ§μ΄ μπ₯)
type Operation2 = {
(a: number, b: number): number;
name: string;
};
π ν¨μ + μμ±μ κ°μ΄ κ°μ§ μ μμ
β μ΄λ°κ±Έ νμ΄λΈλ¦¬λ νμ
μ΄λΌκ³ ν¨
type A = () => number;
type B = () => 10;
a = b; // κ°λ₯ (μ μΊμ€ν )
b = a; // λΆκ°λ₯ (λ€μ΄μΊμ€ν )
π μ½κ² λ§νλ©΄
π₯ ν·κ°λ¦¬λ λΆλΆ
π λ°νκ°μ΄λ λ°λλ‘ μκ°ν΄μΌ ν¨
type C = (value: number) => void;
type D = (value: 10) => void;
d = c; // κ°λ₯
c = d; // λΆκ°λ₯
π μ΄μ
type Animal = { name: string }
type Cat = { name: string, color: string }
catFunc = animalFunc; // κ°λ₯
animalFunc = catFunc; // λΆκ°λ₯
π μ΄μ
func1 = func2 // κ°λ₯
func2 = func1 // λΆκ°λ₯
π κ·μΉ
β 1. optional μμΉ μ€μ
function test(a?: number, b: number) β
β ν΄κ²°
β optionalμ 무쑰건 λ€λ‘
β 2. νμ κ°λ μμ
tall + 10 β
β ν΄κ²°
if(typeof tall === 'number')
β 3. rest νμ
μλΆμ
function sum(...rest) β
β ν΄κ²°
(...rest: number[])