@@ -293,30 +293,30 @@ let s: "left" | "right" = "right";
293
293
pad (" hi" , 10 , s );
294
294
```
295
295
296
- # νμ€μΌκ³Ό λΉμ·ν κ°λ
296
+ # νμ€μΌκ³Ό λΉμ·ν κ°λ
(Concepts similar to Haskell)
297
297
298
298
## λ¬Έλ§₯μ μΈ νμ΄ν (Contextual typing)
299
299
300
300
TypeScriptλ λ³μ μ μΈκ³Ό κ°μ΄ νμ
μ μΆλ‘ ν μ μλ
301
- λͺ κ°μ§ λ°©λ²μ΄ μμ΅λλ€:
301
+ λͺ κ°μ§ λΆλͺ
ν λ°©λ²μ΄ μμ΅λλ€:
302
302
303
303
``` ts
304
304
let s = " I'm a string!" ;
305
305
```
306
306
307
307
νμ§λ§ λ€λ₯Έ C- κ³μ΄ μΈμ΄λ‘ μμ
ν μ μ΄ μλ€λ©΄ μμνμ§ λͺ»νλ
308
- λ€λ₯Έ λ°©λ²μΌλ‘ νμ
μ μΆλ‘ κ°λ₯ν©λλ€ :
308
+ λ€λ₯Έ λ°©λ²μΌλ‘ νμ
μΆλ‘ μ΄ κ°λ₯ν©λλ€ :
309
309
310
310
``` ts
311
311
declare function map<T , U >(f : (t : T ) => U , ts : T []): U [];
312
312
let sns = map ((n ) => n .toString (), [1 , 2 , 3 ]);
313
313
```
314
314
315
- μ¬κΈ°μ μμμΈ ` n: number ` μμΒ λν,` T ` κ³Ό ` U ` λ νΈμΆ μ μ΄λΌμ
316
- μ μΆνκΈ° νλ€μμμλ λΆκ΅¬νκ³ .
317
- μ€μ λ‘ ` [1,2,3] ` μΌλ‘ ` T=number ` μ μΆλ‘ νκ³ λμ ,
318
- ` n => n.toString() ` μ λ¦¬ν΄ νμ
μ ` U=string ` μΌλ‘ μΆλ‘ νλ©°,
319
- ` sns ` μ ` string[] ` μ κ°μ§λλ‘ ν©λλ€.
315
+ μ¬κΈ°μ μμμΈ ` n: number ` μμΒ λν, ` T ` κ³Ό ` U ` λ νΈμΆ μ μ΄λΌμ
316
+ μΆλ‘ λμ§ μμμμλ λΆκ΅¬νκ³ .
317
+ μ€μ λ‘ ` [1,2,3] ` μΌλ‘ ` T=number ` μ μΆλ‘ ν λ€μμ ,
318
+ ` n => n.toString() ` μ λ¦¬ν΄ νμ
μΌλ‘ ` U=string ` μ μΆλ‘ νλ©°,
319
+ ` sns ` κ° ` string[] ` νμ
μ κ°μ§λλ‘ ν©λλ€.
320
320
321
321
μΆλ‘ μ μ΄λ€ μμλ‘λ λμνκ² μ§λ§, intellisenseμ μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘λ§
322
322
λμνκ³ , κ·Έλμ TypeScriptλ λ¨Όμ λ°°μ΄κ³Ό ν¨κ» ` map ` μ μΈνλ κ²μ
@@ -328,7 +328,7 @@ declare function map<T, U>(ts: T[], f: (t: T) => U): U[];
328
328
329
329
λ¬Έλ§₯μ νμ΄νμ λν κ°μ²΄ 리ν°λ΄λ‘ μ¬κ·μ μΌ λ μλν©λλ€. κ·Έλ μ§ μμΌλ©΄
330
330
` string ` μ΄λ ` number ` μΌλ‘ μΆλ‘ κ°λ₯ν μ λ νμ
μΌλ‘ μλν©λλ€.
331
- λ΄μ©μΌλ‘ λ¦¬ν΄ νμ
μ μΆλ‘ κ°λ₯ν©λλ€ :
331
+ κ·Έλ¦¬κ³ λ¬Έλ§₯μ ν΅ν΄μ λ¦¬ν΄ νμ
μ μΆλ‘ ν μ μμ΅λλ€ :
332
332
333
333
``` ts
334
334
declare function run<T >(thunk : (t : T ) => void ): T ;
@@ -339,8 +339,8 @@ let i: { inference: string } = run((o) => {
339
339
340
340
` o ` μ νμ
μ ` { inference: string } ` μΌλ‘ κ²°μ λμμ΅λλ€. μλλ©΄
341
341
342
- 1 . μ μΈ μ΄κΈ°νλ μ μΈ νμ
μ λ°λΌμ λ¬Έλ§₯μ μΌλ‘
343
- μ
λ ₯λ©λλ€: ` { inference: string } ` .
342
+ 1 . μ μΈ μ΄κΈ°νλ μ μΈ νμ
: ` { inference: string } ` μ λ°λΌμ
343
+ λ¬Έλ§₯μ μΌλ‘ νμ
μ΄ μ ν΄μ§λλ€ .
344
344
2 . νΈμΆνλ λ¦¬ν΄ νμ
μ μΆλ‘ μ μν λ¬Έλ§₯μ μΈ νμ
μ μ¬μ©νλ©°, λν
345
345
μ»΄νμΌλ¬λ ` T={ inference: string } ` μΌλ‘ μΆλ‘ κ°λ₯ν©λλ€.
346
346
3 . νμ΄ν ν¨μλ λ§€κ°λ³μμ μ
λ ₯νμ¬ λ¬Έλ§₯μ νμ
μ μ¬μ©λ―λ‘,
0 commit comments