# 소개

## JavaScript 수퍼셋

TypeScript는 JavaScript, ECMAScript를 포함하는 수퍼셋(Superset)으로 **JavaScript 또는 ECMAScript에서 지원하지 않는 기능을 지원**합니다. TypeScript를 대표로 하는 기능은 다음과 같습니다.

* **엄격한 타입 관리**(Strongly Typed)\
  \-  [컴파일](/typescript/cli-env.md#typescript-cli) 시점에 타입 검사\
  \-  [에디터 확장](/typescript/cli-env/linting.md#integration) 시, 실시간 타입 검사
* **제너릭**(Generics)\
  \-  클래스나 함수가 사용될 때 타입 설정
* **인터페이스**(Interface)\
  \-  타입 검사를 요구
* ...

![](/files/-LDoRrpi3HqXZ5GeBzHG)

## 트랜스파일러

TypeScript 파일(`ts`)은 웹 브라우저에서 바로 해석될 수 없습니다. 브라우저에서 해석 가능한 언어인 JavaScript로 변경되어야 브라우저는 이를 인식하고 해석할 수 있습니다. 즉, **TypeScript를 JavaScript로 변환해야 웹 브라우저가 처리 가능** 합니다.

그래서 TypeScript가 JavaScript로 출력 되기에 컴파일러가 아닌, **트렌스파일러(Transpiler)**&#xB85C; 불립니다. 그리고 이러한 언어를 **메타 언어(Meta Language)**&#xB77C;고 부릅니다.

![](/files/-LDoRrplZjyqrfWlQPUs)

## 플레이그라운드 <a href="#playground" id="playground"></a>

가볍고 빠르게 온라인 상에서 TypeScript를 테스트 해보려면 [TypeScript 플레이그라운드](https://www.typescriptlang.org/play/index.html)를 통해 TypeScript 코드가 JavaScript 코드로 변환되는 결과를 실시간으로 확인할 수 있습니다.

![](/files/-LDoVcJ0K--n6UubnQfd)

{% embed url="<https://www.typescriptlang.org/play/index.html>" %}
TypeScript 플레이그라운드
{% endembed %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yamoo9.gitbook.io/typescript/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
