06 Javascript & Typescript

sol·2022년 1월 21일
0

옛날에 java와 Javascript라는 언어가 있다는 걸 보고, 'Javascript는 자바에서 좀 더 추가된 언어겠군!'이라고 생각한 적이 있었다.
그래서 원조격이 되는 Java를 배우면 Javascript는 좀 쉽지 않을까 했는데 웬걸, Java와 Javascriptt는 전혀 다른 언어였고, 만들어질 당시엔 livescript였으나 java의 인기에 편승하고자 이름을 Javascript로 정해졌다는 이야기엔 경악을 금치 못했다.

이후 웹 개발을 위해선 MS 사에서 만든 Typesctipt를 배워야 한다는 말에 '요즘 자바스크립트가 개발자들이 좋아하는 언어 중 상위권이던데 여기도 인기 편승을 위해 이름을 비슷하게 만들었나'라고 생각이 들었는데 다행히 이 녀석(?)은 자바스크립트에서 변형된 언어가 맞았다.
그러면 자바스크립트를 변형에서 만든(?) 게 타입 스크립트라면 그냥 타입 스크립트만 쓰면 되지, 왜 두 개다 쓰는 걸까? 결론만 말하면 웹브라우저가 읽을 수 있는 건 3가지가 전부이다.
html, CSS 그리고 Javascript 그렇기에 타입 스크립트가 넘사벽으로 좋은 언어라고 할지라도 (실제론 비슷하지만) 웹브라우저가 읽을 수 없기 때문에 개발할 땐 타입 스크립트를 써도 실제로 웹에서 구현될 땐 자바스크립트로 컴파일된다.

쉽게말하면 타입스크립트는 자바스크립트를 변형해서 만든

About 'Javascript'

About 'Typescript'

공식문서를 찾아봐도, 정리되어있는 글을 보아도
타입 스크립트는 이름 그대로 타입을 지정해야 작성할 수 있는데, 장점은 코드 작성 시에 타입을 체크해 오류를 확인할 수 있고, 미리 타입을 결정하기 때문에 실행 속도가 매우 빠르다는 점이다. 런타임 언어인 자바스크립트에 비해 안전성이 높다는 큰 장점이 있지만 코드 작성 시에 매번 타입을 결정해야 하기 때문에, 코드량이 증가하고 컴파일 시간이 오래 걸린다는 단점이 있다.

또한, 타입 스크립트는 자바스크립의 슈퍼셋(Superset- 특정한 언어의 모든기능을 포함하면서, 다른기능까지 포함하도록 향상 또는 확장된것) 즉 자바스크립트 기본 문법에 타입 스크립트 문법을 추가한 언어이므로 자바스크립트의 단점을 보완하여 나온 언어이다. 그래서 유효한 자바스크립트로 작성한 코드의 확장자를 js -> ts로 변경하면 컴파일해 변환할 수 있다.

다만, js에서 ts로 바꿀 순 있지만 jsx로 작성된 문서는 ts로 바꿀 수 없어서 tsx로 저장해야 한다.
(자바스크립트는 통합이 되어서 js 나 jsx나 상관없이 js로 작성이 가능하다 )

또한, ES6(ECMAScript6)에서 새롭게 사용된 문법을 포함하고 있어 클래스, 인터페이스,상속,모듈과 같은 객체지향 프로그래밍 패턴을 제공한다고 한다.




ES6(ECMAScript6)가 뭔지 모르는 사람을 위하여

도입부에 기재했듯 자바스크립트는 자바의 인기를 편승하기위해 이름만 '자바'를 붙인거지 실제로 자바와는 다른언어이다.

자바스크립트가 나온이후 MS사는 IE3.0에서 동작하는 'JSrcript'라는 언어를 만들었고, 이에 넷스케이프사(자바스크립트 만든회사-)는 자바스크립트를 표준화하기위해 표준화 기구에 표준화 요청을 하였지만 당시 sun사가 'JAVA'라는 단어를 상표등록했기때문에 JAVAscript라는 이름을 사용할수없었다.

이에 표준언어는 ECMAScript로 썻고 대외적으로 알리기위해 자바스크립트 라고 불렀다.
현재는 표준이나 구현모두 Javascript라고 부르지만 혹시라도 ES6라고 적힌다면 어 저게 뭐지 보다는 자바스크립트('E'cma'S')버전(6)이구나 라고 생각하면 된다.




profile
귀여운 율무랑 레슈랑

0개의 댓글