TypeScript(νμ
μ€ν¬λ¦½νΈ)λ μλ°μ€ν¬λ¦½νΈ
μ νμ
μ λΆμ¬ν μΈμ΄μ
λλ€. "μλ°μ€ν¬λ¦½νΈμ νμ₯λ μΈμ΄" λΌκ³ λ³Ό μ μμ΅λλ€. νμ
μ€ν¬λ¦½νΈλ μλ°μ€ν¬λ¦½νΈμ λ¬λ¦¬ λΈλΌμ°μ μμ μ€ννλ €λ©΄ νμΌμ νλ² λ³νν΄μ£Όμ΄μΌ ν©λλ€. μ΄ λ³ν κ³Όμ μ μ°λ¦¬λ μ»΄νμΌ(complile) μ΄λΌκ³ λΆλ¦
λλ€.
μλ°μ€ν¬λ¦½νΈλ μΆ©λΆν 볡μ‘νκ³ μ΄λ €μ΄λ° μ λ λ€λ₯Έ μΈμ΄λ₯Ό λ°°μμΌ ν κΉμ? λ¨μ§ μ΅μ κΈ°μ μ΄λΌμ? νΉμ λ€λ₯Έ νμ¬λ λ§μ΄ μ¬μ©νλκΉ μ°λ¦¬λ μ¨μΌ νλ κ±ΈκΉ? λΌλ κ³ λ―Όμ νκ² λ©λλ€. νμ μ€ν¬λ¦½νΈλ μλ 2κ°μ§ κ΄μ μμ μλ°μ€ν¬λ¦½νΈ μ½λμ νμ§κ³Ό κ°λ° μμ°μ±μ λμΌ μ μμ΅λλ€.
// math.js
function sum(a, b) {
return a + b;
}
// math.ts
function sum(a: number, b: number) {
return a + b;
}
λ μ½λ λͺ¨λ λ μ«μμ ν©μ ꡬνλ ν¨μ μ½λμ λλ€. νλλ μλ°μ€ν¬λ¦½νΈλ‘ κ·Έλ¦¬κ³ λ€λ₯Έ νλλ νμ μ€ν¬λ¦½νΈλ‘ μμ±νμμ£ . μ΄ ν¨μλ₯Ό κ°μ§κ³ μ€μ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
sum(10, 20); // 30
sum('10', '20'); // 1020
μλ°μ€ν¬λ¦½νΈμ μ΅μν λΆλ€μ΄λΌλ©΄ μ μ½λμ κ²°κ³Όκ° κ·Έλ κ² ν·κ°λ¦¬μ§ μμ κ²λλ€. μ«μ λμ λ¬Έμμ΄μ λνκΈ° λλ¬Έμ 10 + 20 = 30μ΄ μλ 1020μ΄λΌλ κ²°κ³Όκ° λνλ©λλ€.
μ΄μ²λΌ μλνμ§ μμ μ½λμ λμμ μλ°©ν μ μμ΅λλ€. μλμ κ°μ΄ λ§μ΄μ£ .
// math.ts
function sum(a: number, b: number) {
return a + b;
}
sum('10', '20'); // Error: '10'μ numberμ ν λΉλ μ μμ΅λλ€.
μ΄ μ½λλ₯Ό VSCodeμμ νμΈνλ©΄ λ€μκ³Ό κ°μ μ€λ₯λ₯Ό νμΈν μ μμ΅λλ€.
νμ μ€ν¬λ¦½νΈμ λ λ€λ₯Έ μ₯μ μ μ½λλ₯Ό μμ±ν λ κ°λ° ν΄μ κΈ°λ₯μ μ΅λλ‘ νμ©ν μ μλ€λ κ²μ λλ€. μμ¦μ νλ°νΈμλ κ°λ°μ ν λ κ°μ₯ λ§μ΄ μ¬μ©λλ Visual Studio Codeλ ν΄μ λ΄λΆκ° νμ μ€ν¬λ¦½νΈλ‘ μμ±λμ΄ μμ΄ νμ μ€ν¬λ¦½νΈ κ°λ°μ μ΅μ ν λμ΄ μμ΅λλ€.
κ°λ°μ κ΄μ μμ μλ°μ€ν¬λ¦½νΈμ νμ μ΄ λν΄μ‘μ λ μ΄λ ν μ₯μ μ΄ μλμ§ μ΄ν΄λ³΄κΈ° μν΄ μλ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό λ³΄κ² μ΅λλ€.
// math.js
function sum(a, b) {
return a + b;
}
var total = sum(10, 20);
total.toLocaleString();
μ μ½λλ μμμ μ΄ν΄λ΄€λ sum()
ν¨μλ₯Ό μ΄μ©νμ¬ λ μ«μμ ν©μ ꡬν λ€μ toLocaleString()
(νΉμ μΈμ΄μ νν λ°©μμ λ§κ² μ«μλ₯Ό νκΈ°νλ API)λ₯Ό μ μ©ν μ½λμ
λλ€. μ¬κΈ°μ toLocaleString()
λΌλ APIκ° μ΄λ€ μν μ νλμ§κ° μ€μνκ² μλλΌ μμ κ°μ΄ μ½λλ₯Ό μμ±ν λ total
μ΄λΌλ λ³μμ νμ
μ΄ μ½λλ₯Ό μμ±νλ μμ μ number
λΌλ κ²μ μλ°μ€ν¬λ¦½νΈκ° μΈμ§νμ§ λͺ»νκ³ μλκ² μ€μν©λλ€.
λ¬λ¦¬ λ§νλ©΄, κ°λ°μκ° μ€μ€λ‘ sum()
ν¨μμ κ²°κ³Όλ₯Ό μμνκ³ νμ
μ΄ number
λΌκ³ κ°μ ν μνμμ number
μ APIμΈ toLocaleString()
λ₯Ό μ½λ©νκ² λλ κ²μ΄μ£ . μ΄ κ³Όμ μ 보면 μλμ κ°μ΅λλ€.
μμμ λ³Ό μ μλ―μ΄ tota
μ΄λΌλ κ°μ΄ μ ν΄μ Έ μμ§ μκΈ° λλ¬Έμ μλ°μ€ν¬λ¦½νΈ Numberμμ μ 곡νλ APIμΈ toLocaleString()
μ μΌμΌμ΄ μμ±νμ΅λλ€. λ§μ½μ μ€νμλΌλ λμ toLocalString()
μ΄λΌκ³ νλ€λ©΄ μ΄ math.js
νμΌμ λΈλΌμ°μ μμ μ€ννμ λλ§ μ€λ₯λ₯Ό νμΈν μ μμμ κ²λλ€.
κ·Έλ°λ° λ§μ½ μλμ κ°μ΄ νμ μ€ν¬λ¦½νΈλ‘ μμ±νλ©΄ μ΄λ»κ² λ κΉμ?
function sum(a: number, b: number): number {
return a + b;
}
var total = sum(10, 20);
total.toLocaleString();
λ³μ total
μ λν νμ
μ΄ μ§μ λμ΄ μκΈ° λλ¬Έμ VSCodeμμ ν΄λΉ νμ
μ λν APIλ₯Ό 미리 λ³΄κΈ°λ‘ λμμ€ μ μκ³ λ°λΌμ, APIλ₯Ό λ€ μΌμΌμ΄ μΉλ κ²μ΄ μλλΌ tabμΌλ‘ λΉ λ₯΄κ³ μ ννκ² μμ±ν΄λκ° μ μμ΅λλ€.