타입스크립트랑 자바스크립트는 다른 언어
원래 둘이 같은 언어고 다른 작성법 ? 그런것인줄 알았는데
강의를 들어보니
컴파일러는
프로그래밍 언어로 작성된 소스 코드 → 다른 프로그래밍 언어로 변환라고 해서
그럼 결국엔 둘은 다르고 컴파일러가 타입스크립트를 자바스크립트로 변환하는건가 생각이 되었다.
-gpt-
TypeScript와 JavaScript는 서로 다른 언어입니다. TypeScript는 JavaScript의 상위 집합(Superset)으로, JavaScript에 타입 시스템과 여러 추가 기능을 제공합니다. TypeScript를 사용하여 작성된 코드는 브라우저나 Node.js 환경에서 실행되기 전에 JavaScript로 변환(컴파일)되어야 합니다.
### TypeScript와 JavaScript의 관계
1. **TypeScript**:
- 마이크로소프트에서 개발한 오픈 소스 프로그래밍 언어입니다.
- 정적 타입 검사 기능을 제공하여 컴파일 시점에 타입 오류를 검출할 수 있습니다.
- ES6 이상의 JavaScript 기능을 포함하며, 최신 JavaScript 기능을 사용할 수 있습니다.
- 코드의 가독성과 유지보수성을 높여주는 클래스, 인터페이스, 제네릭 등의 기능을 제공합니다.
2. **JavaScript**:
- 웹 브라우저에서 실행되는 스크립팅 언어입니다.
- 동적 타입 언어로, 런타임 시 타입이 결정됩니다.
- TypeScript와 달리 타입 검사 기능이 없으며, 이를 보완하기 위해 TypeScript가 개발되었습니다.
### TypeScript를 JavaScript로 변환
TypeScript로 작성된 코드는 브라우저나 Node.js에서 직접 실행될 수 없으므로, 이를 JavaScript로 변환해야 합니다. 이 과정은 TypeScript 컴파일러(tsc)를 사용하여 이루어집니다. 컴파일러는 TypeScript 코드를 읽고, 타입 검사를 수행한 후, 이를 JavaScript 코드로 변환합니다.
### 예시
다음은 TypeScript 코드 예시입니다:
**TypeScript 코드 (example.ts)**:
```typescript
function greet(name: string): string {
return `Hello, ${name}!`;
}
const user = "Alice";
console.log(greet(user));
```
위 코드는 타입 정보를 포함하고 있으며, 이를 JavaScript로 컴파일해야 실행할 수 있습니다.
**컴파일된 JavaScript 코드 (example.js)**:
```javascript
function greet(name) {
return "Hello, " + name + "!";
}
var user = "Alice";
console.log(greet(user));
```
TypeScript 컴파일러는 타입 정보를 제거하고 순수한 JavaScript 코드로 변환합니다. 이 JavaScript 코드는 모든 브라우저와 Node.js 환경에서 실행될 수 있습니다.
### 결론
TypeScript는 JavaScript의 상위 집합으로, 더 강력한 타입 검사와 최신 기능을 제공하는 언어입니다. TypeScript로 작성된 코드는 JavaScript로 컴파일되어야 실행될 수 있습니다. 이 과정은 TypeScript 컴파일러를 통해 이루어지며, 결과적으로 브라우저나 Node.js에서 실행할 수 있는 표준 JavaScript 코드가 생성됩니다.