모던 자바스크립트 튜토리얼 part 1.1 소개

수학 과목의 첫 강의에는 서론이 없다. 그저 묵묵히 첫 쪽부터 훈련을 시작할 뿐이다. - 선형대수와 군 1쪽

1. 자바스크립트란?

자바스크립트는 브라우저에서 작동하는 프로그래밍 언어이다. 이는 브라우저에 V8, 스파이더몽키 등 JS 가상 머신(엔진)이 내장되어 있기 때문이다. 이 엔진은 스크립트를 읽고 기계어로 전환하고 실행한다.

2. 브라우저에서 할 수 없는 일

JS는 브라우저를 조작할 수 있는 언어이다. 요즘은 서버에서도 JS를 사용할 수 있지만, 기본적으로는 브라우저에서 작동한다. 그러면 브라우저에서 할 수 없는 일은 뭘까? 다음과 같다.

먼저 디스크에 저장된 임의의 파일을 다룰 수 없다. <input type="file">태그를 쓰는 등 특수한 경우에만 가능하다.

사용자의 명시적인 허가 없이 카메라, 마이크, 위치 정보 등을 가져올 수 없다. 이는 보안상의 이유로 브라우저에서 제한되어 있다. 일반적으로 볼 수 있는 '카메라 권한 허용'등이 이런 것에 대해 사용자의 허가를 얻는 것이다.

일반적으로 브라우저 내의 서로 다른 탭, 창은 서로의 정보를 알 수 없다. Same Origin Policy 때문이다. 따라서 두 페이지 간의 데이터 교환을 위해서는 서로가 데이터 교환에 동의해야 하고 특정한 js 코드를 포함해야 한다.

3. 참고하면 좋은 자료

JS의 공식문서라 할 수 있는 ECMA-262 https://www.ecma-international.org/publications/standards/Ecma-262.htm 그러나 공부할 땐 MDN이 더 낫다.

MDN에서 제공하는 레퍼런스 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference

브라우저가 특정 기능을 지원하는지 확인 https://caniuse.com/