![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/p5em2/btssS0MAOxF/djFTOFubgZYORAoSxAGXxk/img.png)
대부분의 프로그래밍 언어는 어떻게 동작할까? 대부분의 프로그래밍 언어는 인간친화적이다. 프로그래밍 언어는 영어 문법과 비슷하기 때문에 바이트 코드나 기계어, 이진수 같은 언어를 기반으로 동작하는 컴퓨터가 프로그래밍 언어를 바로 이해할 수 없다. 그래서 컴퓨터는 코드를 해석하기 쉬운 형태로 변환하는 '컴파일'과정을 거쳐 코드를 실행한다. 다른 언어로 변환하는 프로그램 -> 컴파일러 📍 컴파일 과정 컴파일러는 어떤 과정을 거쳐 컴파일을 할까? 컴파일러는 프로그래밍 언어로 작성된 코드를 AST(추상 문법 트리)라는 형태로 먼저 변환한다. 더보기 AST란? 코드의 공백이나 주석 탭 등 코드 실행에 관계없는 요소들은 전부 제거하고 트리 형태의 자료구조에 코드를 쪼개서 저장한 형태 자바스크립트 코드를 AST로 변환..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bNfsc9/btssZcZjc1T/v5m5KSJo2sjQzoi3BRLjs0/img.png)
🌱 타입스크립트 기존의 자바스크립트를 더 안전하게 사용할 수 있도록 여러 가지의 타입 관련 기능을 추가한 언어 즉, 자바스크립트의 확장판 언어이다. 그런데 자바스크립트가 아닌 타입스크립트를 왜 배워야 할까? 자바스크립트는 원래 간단한 상호작용 정도를 처리하기 위해 개발되었다. 그렇기 때문에 문법이 아주 유연하고 프로그래머가 아주 쉽고 간결하게 코드를 작성하는 데에 중점을 두고 만들어졌다. 버그로부터의 안정성이나 견고함을 일부 포기하게 되었지만 간단한 프로그램에서는 전혀 문제가 되지 않았다. 하지만, Node.js의 등장 이후 간단한 프로그램에서 복잡한 프로그램으로 자바스크립트의 범위가 확장되어 유연함이 안정성을 떨어뜨리는 단점이 되었다. 그래서 이런 문제점을 극복하기 위해 자바스크립트의 기존 문법과 장점..