컴파일러의 필요성과 기본 개념 컴파일러란? 컴파일러는 고수준 언어로 작성된 소스 코드를 저수준 언어로 변환하는 프로그램 사람이 이해하기 쉬운 언어(예: TypeScript, C언어)에서 컴퓨터가 이해할 수 있는 기계어나 중간 언어(예: JavaScript)로의 변환이 포함 됨 컴파일러의 중요성 타입 검사: TypeScript 같은 정적 타입 언어에서 컴파일러는 타입 관련 오류를 미리 감지해 수정할 수 있도록 함 코드 변환: TypeScript 컴파일러(tsc)는 TypeScript 코드를 JavaScript로 변환 이렇게 변환된 코드는 브라우저나 Node.js 같은 JavaScript 환경에서 실행 컴파일러와 최적화 컴파일러는 코드 최적화에도 중요한 역할을 하며, 최적화된 코드는 더 빠르고 효율적으로 실..
JavaScript의 약점 동적 타입 언어의 문제: JavaScript는 동적 타입 언어로, 변수의 타입이 실행 시간까지 결정되지 않음 예기치 않은 버그가 발생할 수 있으며, 디버깅이 어려워질 수 있음 Node.js와 관련된 문제: Node.js를 사용하면 JavaScript를 백엔드에서도 사용할 수 있게 되었음 하지만, JavaScript의 동적 타입 특성 때문에 백엔드에서 예외 처리가 제대로 이루어지지 않으면 심각한 문제가 발생 약한 타입 체크: JavaScript는 약한 타입 체크를 가지고 있어, 예상치 못한 타입 변환으로 인한 오류가 발생하기 쉬움 유연한 객체 구조: JavaScript의 객체는 매우 유연하여, 개발자가 실수로 객체의 구조를 변경할 경우 오류가 발생할 수 있음 TypeScript의..