Skip to content

Commit ab5911a

Browse files
committed
Update typescript file
1 parent 78ee764 commit ab5911a

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

Language/[TypeScript] 프로젝트에 적용하는 TypeScript.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ TypeScript프로젝트는 루트 디렉터리에 tsconfig.json 파일이 존재
108108
* array (2가지 표현방법)
109109
* T[]
110110
* Array\<T\>
111+
* object
111112
* tuple
112113
* 요소의 타입과 개수가 고정된 배열 표현
113114
* `let x: [string, number]`
@@ -228,7 +229,9 @@ TypeScript프로젝트는 루트 디렉터리에 tsconfig.json 파일이 존재
228229

229230
TypeScript**타입 추론**이 가능하므로 기본 타입의 경우 변수에 타입을 선언해줄 필요가 없다. 변수를 생성하며 초기값을 선언해준다면 해당 값으로 타입을 적절하게 추론한다 (하지만 한번 설정된 타입을 바꾸려고 한다면 JavaScript와 다르게 오류 발생: `error TS2322`). [자세한 설명](https://typescript-kr.github.io/pages/type-inference.html)
230231

231-
232+
> 타입 체크는 값의 형태에 기반하여 이루어져야 한다.
233+
>
234+
> => 이를 DuckTyping 또는 Structural Subtyping 라 한다.
232235

233236
## TypeScript default value?
234237

@@ -282,9 +285,9 @@ TypeScript에서 default value를 설정할 수 있는가? 에 대한 답은 '
282285
* 해당 기능에 대한 insight가 없는 경우
283286
* 1000줄 이상의 코드가 있는 경우
284287

285-
=> 어떤 코드를 해석하고 있는지 중간에 놓치는 경우가 많았고, 모두 var, let으로만 이루어진 변수의 type은 무엇인지 어떤것을 의미하는지 잘 모르는 문제가 있었다.
288+
=> 어떤 코드를 해석하고 있는지 중간에 놓치는 경우가 많았고, let으로 이루어진 변수가 나중에 type이 바뀌어도 문제가 발생하지 않아 버그를 찾기 힘든 경우도 발생한다.
286289

287-
TypeScript를 사용하게 된다면 메소드 파라미터의 `타입`을 선언할 수 있고, 해당 변수가 어떤 값인지 추론가능하므로 코드 해석이 훨씬 쉬워진다. 물론, 모든 메소드와 변수에 대해 타입을 설정하고 선언한다는 것이 처음엔 귀찮을 수 있지만 추후 유지 보수를 하거나 추가 기능을 개발할 때 훨씬 편하다는 장점이 있다.
290+
TypeScript 사용 시 메소드 파라미터의 `타입`을 선언할 수 있고, 해당 변수가 어떤 값인지 추론 가능하므로 코드 해석이 훨씬 쉬워진다. 또한 개발 시 **에러가 사전에 방지**되며 IDE를 사용한다면 자동 완성 기능이 있어 **생산성이 향상**된다. 물론, 모든 메소드와 변수에 대해 타입을 설정하고 선언한다는 것이 처음엔 귀찮을 수 있지만 추후 유지 보수를 하거나 추가 기능을 개발할 때 훨씬 편하다는 장점이 있다.
288291

289292

290293

@@ -322,9 +325,23 @@ TypeScript컴파일러는 AST를 만들어 결과 코드를 내놓기 전에 **
322325
**TODO**
323326

324327
* tsconfig.json에 현재 프로젝트 설정 확인
328+
329+
* typeRoots, allowJS, declaration 확인하면서 d.ts 도 같이 확인하면됨
330+
325331
* d.ts 파일 만들기 https://typescript-kr.github.io/pages/declaration-files/creating-dts-files-from-js.html
332+
333+
* https://www.typescriptlang.org/dt/search?search=v-code-diff
334+
335+
=> 여기서 ts 사용하는 애들 확인 가넝 (Definitely Typed)
336+
337+
* https://joshua1988.github.io/ts/usage/declaration.html#%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%84%A0%EC%96%B8-%ED%8C%8C%EC%9D%BC
338+
326339
* Record<K, T> 실제 사례 확인 필요
327340

341+
* type/interface
342+
343+
* https://joshua1988.github.io/ts/guide/type-alias.html#%ED%83%80%EC%9E%85-%EB%B3%84%EC%B9%AD-type-aliases
344+
328345
---
329346

330347
## Plugins

0 commit comments

Comments
 (0)