- C#, Java λ±μ μΈμ΄μμ μ¬μ¬μ©μ±μ΄ λμ μ»΄ν¬λνΈλ₯Ό λ§λ€ λ μμ£Ό νμ©λλ€.
- νκ°μ§ νμ λ³΄λ€ μ¬λ¬ κ°μ§ νμ μμ λμνλ μ»΄ν¬λνΈλ₯Ό μμ±νλλ° μ¬μ©λλ€.
νμ μ€ν¬λ¦½νΈλ κΈ°λ³Έμ μΌλ‘ νμ μ μ§μ νμ¬ μ¬μ©νκΈ° λλ¬Έμ ν΄λΉ νμ μ λ§μ§ μμ κ²½μ° μ€λ₯κ° λ°μνλ€.
μμ κ°μ νμμΌλ‘ μ¬μ©ν κ²½μ° μΈμμ νμ μ 무쑰건 stringμΌλ‘ μΈμ§λμ΄ string μΈμ νμ μ΄ λ§€κ°λ³μλ‘ μ¬ κ²½μ° μλ¬ λ°μμ μλ €μ€λ€.
κ·ΈλΌ anyλ₯Ό μ¨μΌμ§ λΌλ μκ°μ ν μ μλλ° anyλ νμ κ²μ¬λ₯Ό νμ§ μκΈ° λλ¬Έμ νμ μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νλ μλ―Έκ° μμ΄μ§λ€.
μ λ¬Έμ μ μ ν΄κ²°νκΈ° μν΄ μ λ€λ¦μ μ¬μ©νλ κ²μ΄λ€.
function ts<T>(arr : T[]) : T {
return arr[0];
}
console.log(ts([10, 20, 30, 40, 50]));
console.log(ts(['a', 'b', 'c', 'd', true]));
console.log(ts(['hello', 'aaa', 1234]));
μ μ½λλ₯Ό μ€ννμλ μλ μ΄λ―Έμ§μ κ°μ κ²°κ³Όκ° λμ€κ² λλ€.
ν¨μλͺ
λ°λ‘ λ€μ κΊ½μ κ΄νΈ μμ TλΌλ μ½λ μΆκ° λ° μΈμμ λ°νκ°μ TλΌλ νμ
μ μΆκ°νλ€. μ΄λ κ² νμ
μ μ€μΌλ‘μ¨ ν¨μλ₯Ό νΈμΆν λ νμ
μ€ν¬λ¦½νΈκ° νμ
μ μΆμ ν μ μλ κ²μ΄λ€.
μ½κ² μκ°νλ©΄ μ λ€λ¦μ μ¬μ©ν΄ call signature μμ± μ νμ
μ€ν¬λ¦½νΈλ μμ±ν μ λ€λ¦ μ΄λ¦ λμ λ°κ²¬ν νμ
μΌλ‘ λ³κ²½ν΄μ€λ€λ κ²μ΄λ€.
μλ μ΄λ―Έμ§μ²λΌ ν¨μμμλ μ λ€λ¦ μ μΈ ν ν¨μ νΈμΆ μ 맀κ°λ³μ λ° λ°νκ°μ λν νμ μ΄ μμ±λλ κ²μ΄λ€.
μ λ€λ¦μ μ¬λ €κ° μ¬μ©ν λλ μΈμμ μ΄λ€ μ λ€λ¦μ μ¬μ©ν κ²μΈμ§ λͺ
μν΄μ£Όμ΄μΌ νλ€.
λ€λμ λ°μ΄ν°κ° μλ νμ
μ΄ μμ λ κ·Έ λ°μ΄ν° μ€ νλκ° λ¬λΌμ§ μ μλ νμ
μ΄λΌλ©΄ κ·Έ λ°μ΄ν°μ μ λ€λ¦μ λ£μΌλ©΄ λλ€λ κ²μ΄λ€.
μ λ€λ¦ κΈ°λ³Έ μ¬μ©λ²κ³Ό λμΌνκ² μ μΈ λ° ν¨μμ νμν μΈμλ₯Ό λΆλ¬μ£Όλ©΄ λλ€.
μ΅μ’ μ 리ν΄λ³΄μλ©΄ μ λ€λ¦μ μ μΈ μμ μ΄ μλλΌ μμ± μμ μ νμ μ λͺ μνμ¬ νλμ νμ λ§μ΄ μλ λ€μν νμ μ μ¬μ©ν μ μλλ‘ νλ κΈ°λ²μ΄λ€
μ°Έκ³