[JS] 자바스크립트란?

heyhey·2023년 2월 20일
0

JavaScript

목록 보기
2/14

1.1

주 언어인 javascript
자바스크립트 공부에 앞서 자바스크립트란 무엇이며
왜 자바스크립트를 배우는지, 어떠한 장점이 있는지 알아보도록 한다.

정의

js는 웹페이지에 생동감을 불어넣기 위해 만들어진 언어다.
script 란 js로 작성된 프로그램을 뜻하고 이건 웹 페이지의 html 안에 작성 가능한데, 웹페이지를 불러올 때 스크립트가 자동으로 실행된다.

JAVA 랑 다른언어이다.

처음에는 LiveScript 라고 불렸었지만, 홍보를 하기 위해 그 당시에 인기가 많던 java와 합쳐 개명했다.

자바스크립트 엔진

js는 원래 브라우저에서만 실행 가능한데, 서버에서도 사용 가능하게 만들어주는 프로그램이 있다.
이걸 자바스크립트 엔진이라고 부르고,이 프로그램이 들어있는 디바이스에서 동작할 수 있다.

브라우저에는 js 가상 머신이라 불리는 엔진이 내장되었다.

  • v8 : 크롬에서 사용
  • spiderMonkey : firefox 에서 사용
  • ChakraCore : Edge
  • SquirrelFish : Safari

기능별로 특정한 js 엔진에서만 지원할 수 있ㄷ기 때문에, 알아두는 것이 좋다.

동작방식

  1. 엔진이 스크립트를 읽는다.
  2. 스크립트를 기계어로 전환한다.
  3. 전환된 코드가 실행된다.

브라우저에서 할 수 있는 일

Node.js 환경에선 임의의 파일을 읽거나 쓰고, 네트워크 요청을 수행하는 함수를 지원한다.
브라우저에서는 웹페이지 조작, 클라이언트와 서버의 상호작용과 같은 일을 한다.

  • html 추가,수정
  • 사용자 행동에 이벤트를 생성
  • 네트워크를 통해 원격 서버에 요청을 보내거나, 파일을 주고받는다.
  • 쿠키를 설정한다.
  • 스토리지에 데이터를 저장한다.

브라우저에서 할 수 없는 일

너무 당연한 이야기라 몰랐었지만 다시 생각해보면 아 이런게 안됐구나 느껴진다.

js는 브라우저의 보안을 위해 개인정보에 접근하거나 사용자의 데이터를 손상하는 것을 막는다.

  • 디스크에 저장된 임의의 파일을 알 수 없다. 운영체제가 지원하는 기능을 브라우저가 직접 쓰지 못한다.

  • 카메라나 마이크 같은 디바이스도 사용자의 허가가 있어야한다.

  • 브라우저 내 탭과 창은 대게 서로의 정보를 알 수 없다.

  • 동일 출처 정책 : 두 페이지는 데이터 교환에 동의해야하고, 특수한 js 코드를 포함해야한다.

  • 타 사이트나 도메인에서의 데이터를 받아오는 것이 불가능하다. 페이지를 생성한 서버의 정보는 쉽게 정보를 주고 받는다.

자바스크립트만의 강점

  • html / css와 완전히 통합할 수 있다.
  • 간단한 일은 간단하게 처리할 수 있다.
  • 모든 주요 브라우저에서 지원하고, 기본 언어로 사용되고 있다.

ECMA-262

js 의 공식문서이다.

profile
주경야독

0개의 댓글