Today, What I learned?
νμ μ€ν¬λ¦½νΈλ₯Ό μ΅νλ©΄μ μκ°λ³΄λ€ μ½μ§ μμμ λ§μ΄ λλΌλ μ€..!
νΉν ν·κ°λ¦¬λ λͺλͺ κ°λ μ μ’ μ 리ν΄λ³΄λ € νλ€.
JSμ TS
μλ°μ€ν¬λ¦½νΈλ λμ νμ . νλ‘κ·Έλ¨μ΄ μ€νλ λ, μ¦ λ°νμμ λ³μμ νμ μ΄ κ²°μ λλ€.
λ°λλ‘ νμ μ€ν¬λ¦½νΈλ μ μ νμ . μ»΄νμΌ νμμ λ³μμ νμ μ΄ κ²°μ λλ€.
μ΄κ²μ μ¦ νλ‘μ νΈκ° μ€νλκΈ° μ μ 미리 IDEμμ λ°μν μ€λ₯λ₯Ό μ μ μλ€λ κ²!
any νμ
any νμ μ λͺ¨λ νμ μ ν¬ν¨νλ νμ μ΄λ€. (μλ°μ€ν¬λ¦½νΈμ λͺ¨λ λ³μλ any νμ μ΄λΌκ³ ν μ μλ€.)
μλ°μ€ν¬λ¦½νΈ νλ‘μ νΈλ₯Ό νμ μ€ν¬λ¦½νΈλ‘ 리ν©ν λ§νλ κ²½μ° μμλ‘ μ¬μ©νλ©° μ μ§μ μΌλ‘ νμ μ μ°¨μ°¨ λ°κΏλκ° λ μ μ©νλ€.
νμ§λ§ λͺ¨λ νμ μ ν¬ν¨νλ€κ³ ν΄μ 무λΆλ³νκ² μ¬μ©νλ©΄ νμ μ€ν¬λ¦½νΈλ μ°λ μ΄μ κ° μλ€!
λλλ‘μ΄λ©΄ any νμ μ μ°λ κ²μ νΌνλλ‘ νμ!.. π
μ¬λ΄μΌλ‘ μ΄λ²μ ν¬λ리μ€νΈλ₯Ό 리ν©ν λ§νλ©΄μλ any νμ μ ν λ²λ μ¬μ©νμ§ μμλ€...!
μ΅μ λ νλΌλ―Έν°
νμ μ μ΅μ λ νλΌλ―Έν°κ° ν¬ν¨λμ΄ μλ€λ©΄ νμμ μΈ κ°μ΄ μλλΌλ μλ―Έ. μ¦ μ νμ μΈ νλΌλ―Έν°λΌλ κ²μ΄λ€.
function printText({name, age=15, language}:{name: string; age?:number; language?:string;}){
// ....
}
printText({name:'abc'}); // 1
printText({age:20, language:'kor'}); // 2
μμ κ°μ μ½λκ° μμ λ printText
λΌλ ν¨μλ 맀κ°λ³μλ‘ name, age, languageλ₯Ό λ°κ³ ,
ageμ κΈ°λ³Έ κ°μ 15λ€. μ΄ λ§€κ°λ³μλ€μ νμ
μ 보면 ageμ langaugeμλ μ΅μ
λ νλΌλ―Έν°κ° μΆκ°λμ΄ μλ€.
μ¬κΈ°μ νμμ μΌλ‘ λ€μ΄κ°μΌ νλ 맀κ°λ³μλ name
λΏμΈ κ²μ μ μ μλ€.
κ·Έ μλμ 1λ² μ½λ κ°μ κ²½μ°λ μλ¬κ° λμ§ μμ§λ§, 2λ² μ½λλ νμλ‘ λ€μ΄κ°μΌ νλ name νλΌλ―Έν°κ° μκΈ° λλ¬Έμ μλ¬κ° λ°μν κ²μ΄λ€.
μ λ€λ¦
μ λ€λ¦μ Java, C# λ±μ μΈμ΄μμ μ¬μ¬μ©μ±μ΄ λμ μ»΄ν¬λνΈλ₯Ό λ§λ€ λ λ§μ΄ νμ©λλ λ¬Έλ²μ΄λ€.<T>
λΌλ κΈ°λ³Έ λ¬Έλ²μ ν΅ν΄μ νμ
μ ν¨μμ νλΌλ―Έν°μ²λΌ μΈ μ μλ€.
function printText<T>(text: T): T {
console.log(text);
return text;
}
printText(10); // number
printText('μ'); // string
printText(true); // boolean
μ λ€λ¦μ μμ κ°μ μμλ‘ λ€ μ μκ² λ€.
ν¨μλ₯Ό νΈμΆνμ λ νμ
μΆλ‘ μ ν΅ν΄μ νλΌλ―Έν°μ λ°λΌ νμ
μ λμ μΌλ‘ μ§μ ν΄μ μΈ μ μλ€.
10μ κ²½μ° printText
μκ² 10μ μΈμλ‘ λ겨μ€μΌλ‘μ¨ ν¨μμκ² Tμ number νμ
μ μ¬μ©νκ² λ€κ³ λͺ
μνλ€.
Comment