π Front-End/TypeScript
νλΌλ―Έν° λλ λ³μμ νλμ νμ
μ΄μμ μ¬μ©ν μ μκ² ν΄μ£Όλ κ² μ
λλ€. Union Type μμ function logMessage(value: string){ console.log(value) } logMessage('hello'); logMessage(100); // number νμ
μ΄ λ€μ΄μ€κΈ°μ μ€λ₯ // μ«μλ₯Ό ν¬ν¨μν€κ³ μΆμΌλ©΄ string -> any λ‘ λ°κΎΈλ©΄ λλ€.
π Front-End/TypeScript
νμ
λ³μΉμ νΉμ νμ
μ΄λ μΈν°νμ΄μ€λ₯Ό μ°Έμ‘°ν μ μλ νμ
λ³μλ₯Ό μλ―Έν©λλ€. β μ¬μ©νλ λ°©λ² // string νμ
μ μ¬μ©ν λ const name: string = 'capt'; // νμ
λ³μΉμ μ¬μ©ν λ type MyName = string; const name: MyName = 'capt'; β νμ
λ³μΉμ νΉμ§ ( μΈν°νμ΄μ€μ λΉκ΅ ) interface Person{ name: string; age: number; } type Person = { name: string; age: number; } let seho: Person ={ name: 'μΈνΈ', age: 30 } νμ
λ³μΉμ μλ‘μ΄ νμ
κ°μ νλ μμ±νλ κ²μ΄ μλλΌ μ μν νμ
μ λν΄ λμ€μ μ½κ² μ°Έκ³ ν μ μκ² μ΄λ¦μ λΆμ¬νλ..
π Front-End/TypeScript
μΈν°νμ΄μ€λ μνΈ κ°μ μ μν μ½μ νΉμ κ·μΉμ μλ―Έν©λλ€. νμ
μ€ν¬λ¦½νΈμμ λ°λ³΅λλ νμ
λ€μ λͺ¨μμ νλμ μΈν°νμ΄μ€λ‘ μ μλ₯Ό νμ¬ μ¬μ© ν©λλ€. β λ³μμ νμ©ν μΈν°νμ΄μ€ μ¬μ©ν λ λ°λμ μΈν°νμ΄μ€μ μλ μμ±μ μ μν΄μΌ ν©λλ€. // μΈν°νμ΄μ€ μ μΈ interface User { age: number; name: string; } let hyunho: User = { age: 26, name: 'ννΈ' } β ν¨μμ νμ©ν μΈν°νμ΄μ€ μΈμμ μΈν°νμ΄μ€λ₯Ό μ μ© -> νΉμ νμμ μ€μνλ λ°μ΄ν°λ§ λ°κ² λ€κ³ μ μ ν©λλ€. interface User { age: number; name: string; } function getUser(user: User){ console.log(user); } cons..
π Front-End/TypeScript
β ν¨μμ νλΌλ―Έν°(맀κ°λ³μ) νμ
function sum(a: number, b: number){ return a + b; } sum(10,20); β ν¨μμ λ°ν κ° μ νμ
μ μ μνλ λ°©μ function add(): number{ return 10; } β ν¨μμ κΈ°λ³Έμ μΈ νμ
μ μΈ // JS function sum(a, b) { return a + b; } // TS function sum(a: number, b: number): number { return a + b; } β ν¨μμ μ΅μ
λ νλΌλ―Έν° (μ νμ νλΌλ―Έν°) νμ
μ€ν¬λ¦½νΈμμλ ν¨μμ μΈμλ₯Ό λͺ¨λ νμ κ°μΌλ‘ κ°μ£Όν©λλ€. μ¦, μ μλ 맀κ°λ³μ κ°λ§ λ°μ μ μκ³ μΆκ°λ‘ μΈμλ₯Ό λ°μ μ μλ€λ μλ―Έμ
λλ€. νμ§λ§ νμμ λ°λΌμ μ νμ μΌλ‘..
π Front-End/TypeScript
νμ
μ€ν¬λ¦½νΈλ‘ λ³μλ ν¨μμ κ°μ μλ°μ€ν¬λ¦½νΈ μ½λμ νμ
μ μ μν μ μμ΅λλ€. β νμ
νκΈ°(Type Annotation) : λ₯Ό μ΄μ©νμ¬ μλ°μ€ν¬λ¦½νΈ μ½λμ νμ
μ μ μνλ λ°©μ β String // κΈ°λ³Έ JS μ μΈ const str = 'hello'; // TS λ¬Έμμ΄ μ μΈ const str: string = 'hello'; β Number let num: number = 10; β Array let arr: Array = [1,2,3]; let heroes: Array = ['captin','thor','hulk'] // μ«μλ₯Ό λ£μΌλ©΄ μλ¬ let items : number[] = [1,2,3]; β Tuple λ°°μ΄μ κΈΈμ΄κ° κ³ μ λκ³ κ° μμμ νμ
μ΄ μ§μ λμ΄ μλ λ°°μ΄ νμ μ
λλ€. let a..
π Front-End/TypeScript
νμ
μ€ν¬λ¦½νΈλ β μλ°μ€ν¬λ¦½νΈμ νμ₯λ μΈμ΄λΌκ³ λ³Ό μ μμΌλ©°, μλ°μ€ν¬λ¦½νΈμ νμ
μ λΆμ¬ν μΈμ΄ μ
λλ€. λΈλΌμ°μ μμλ νμ
μ€ν¬λ¦½νΈλ₯Ό μ€ν ν μ μκΈ° λλ¬Έμ μ»΄νμΌ(complile) κ³Όμ μ κ±°μ³μΌ ν©λλ€. TypeScript vs JavaScript β TypeScript JavaScript λμ νμ
μΈμ΄ μ μ νμ
μΈμ΄ μΈν°νλ¦¬ν° μΈμ΄ μ»΄νμΌ μΈμ΄ μλ°μ€ν¬λ¦½νΈμ μμ‘΄μ μ λ
립μ μΌλ‘ μ¬μ© κ°λ₯ λ λμ ꡬ쑰μ κ°κ²°ν¨, μΌκ΄μ±, μ¬μ¬μ©μ± μ’ λ μ μ°ν¨ (νμ
μ μ νμ λ°μ§ μμΌλ―λ‘) .ts νμ₯μ .js νμ₯μ 볡μ‘ν νλ‘μ νΈμ μ ν©ν¨ μκ³ κ°λ¨ν νλ‘μ νΈμ μ ν©ν¨ νμ
μ€ν¬λ¦½νΈ μ°λ μ΄μ β β μλ¬μ μ¬μ λ°©μ§ // math.js function sum(a, b) { return a + b; } // ..