본문 바로가기

Roadmap

Basic Frontend Knowledge - JavaScript

JavaScript?

JavaScript는 웹 페이지의 동적인 부분을 위해서 만들어졌다. 이 스크립트 언어는 HTML 문서에 바로 작성하고 페이지가 로드될 때 자동으로 실행할 수 있다. JavaScript는 브라우저뿐만 아니라 서버에서도 실행될 수 있으며 JavaScript 엔진이 있는 모든 장치에서 실행할 수 있다.(Chrome, Opera, Edge - V8 / Firefox - SpiderMonkey)

 

JavaScript가 할 수 없는 것?

웹 페이지가 개인 정보에 액세스 하거나 사용자 데이터를 손상시키는 것을 방지한다.

때문에 웹 페이지의 JavaScript는 하드 디스크에 있는 임의의 파일을 읽거나 쓸 수 없으며 복사하거나 프로그램을 실행할 수 없다. 파일 작업을 허용하지만 <input>태그를 통해 파일을 선택하거나 사용자가 브라우저 창에 파일을 드롭하는 특정한 경우에만 제공된다. 카메라/마이크 및 기타 장치와 상호 작용하는 방법이 있지만 사용자의 명시적 허가가 필요하다.

다른 탭/창은 일반적으로 서로에 대하여 알지 못하며 한 페이지의 JavaScript가 다른 사이트에서 온다면 다른 페이지에 액세스 하지 못하는데 이를 SOM(Same Origin Policy, 동일 출처 정책)이라고 한다. 다른 출처의 데이터 교환 시 일어나는 문제가 그 유명한 CORS(Cross-Origin Resource sharing, 다른 출처 리소스 공유)이다. CORS 문제를 해결하기 위해서는 프론트에서 proxy 설정을 해주거나 백에서 특정 origin에 대하여 allow 해줘야 한다.

 

JavaScript는 처음에 브라우저 전용 언어로 만들어졌지만 지금은 다른 환경에서 많이 사용된다 또한 HTML/CSS와 완전히 통합된 가장 널리 채택된 브라우저 언어로 다른 언어들에 비해 진입 장벽이 낮은 편이다. 하지만 진입 장벽이 낮을 뿐 JavaScript를 제대로 사용하기 위해서는 깊은 공부가 필요하다.

프론트엔드 개발의 대표적인 트렌드라고 생각되는 React, Vue 또한 JavaScript를 기반으로 한 라이브러리 및 프레임워크다. JavaScript를 제대로 공부하지 않으면 그 외의 것을 배운다고 해도 금세 한계를 맞이할 것이다.

'Roadmap' 카테고리의 다른 글

OS and General Knowledge - 2  (0) 2022.01.26
OS and General Knowledge - 1  (0) 2022.01.25
Basic Frontend Knowledge - CSS  (0) 2022.01.21
Basic Frontend Knowledge - HTML  (0) 2022.01.20
Internet - 마지막  (0) 2022.01.19