자바스크립트란?

이예은·2022년 1월 30일
0
post-thumbnail

지금 듣는 국비교육과정에서 속성으로 자바스크립트를 배우긴 했지만, 몇몇 이벤트를 제외하곤 전혀 이해하지 못했다.

기왕 배우는 것 남는 시간에 기본기를 공부해볼까 한다.
(남는 시간이 있냐만은,,, 설 연휴니까)

웬만한 책보다 낫다는 모던 JavaScript 튜토리얼로 가볍게 시작해본다!

https://ko.javascript.info/intro

자바스크립트&코드네임

원래 livescript로 불렸던 자바스크립트는 원래 이름에서 부터 알 수 있듯이 웹 페이지를 동적으로 만들기 위해서 붙여진 언어다.

자바스크립트는 자바스크립트 엔진이라 불리는 프로그램이 들어있는 모든 디바이스에서 작동한다.

브라우저엔 '자바스크립트 가상머신'이라 불리는 엔진이 내장되어 있고, 각각 코드네임이 있다.

V8 - 크롬과 오페라
SpiderMonkey - Firefox
Trident or Chakra - IE 버전에 따라
ChakraCore - Microsoft Edge
SquirrelFish - Safari

브라우저에서 할 수 있는 일 ⭕

✔ 새로운 HTML 추가 / 기존 HTML 혹은 스타일 수정
✔ 마우스 클릭이나 포인터 움직임, 키 눌림 등 사용자 행동에 반응
✔ 원격 서버에 요청을 보내거나, 파일 다운, 업로드하기
✔ 쿠키를 가져오거나 설정하기. 사용자에게 질문을 건네거나 메세지 보여주기(alert나 confirm 함수 등)
✔ 클라인언트 측에 데이터 저장하기

브라우저에서 할 수 없는 일 ❌

브라우저는 보안을 위해 자바스크립트 기능에 몇 가지 제약을 걸어놓았다.
✔ 디스크에 저장된 파일을 읽거나 쓰고, 복사하거나 실행할 때 제약을 받을 수 있다.
✔ 카메라나 마이크 같은 디바이스와 상호 작용하려면 사용자의 명시적 허가가 있어야 한다.
✔ 브라우저 내 탭과 창은 서로의 정보를 알 수 없다.
✔ 타 사이트나 도메인에서 데이터를 받아오는 것이 불가능하다. 가능하다해도 원격 서버에서 명확히 승인을 해줘야 한다.


자바스크립트만의 강점

  1. HTML/CSS와 완전히 통합할 수 있다.
  2. 간단한 일은 간단하게 처리할 수 있게 해준다.
  3. 모든 주요 브라우저에서 지원하고, 기본 언어로 사용된다.

이러한 자바스크립의 장점이 있지만, 모든 사람의 요구를 충족시키진 못한다고 한다. 따라서 근래엔 브라우저에서 실행되기 전에 바카스크립트로 트랜스파일할 수 있는 새로운 언어들이 많이 등장했다.

  1. CoffeeScript : 짧은 문법을 도입하여 명료하고 이해하기 쉬운 코드를 작성할 수 있다. Ruby 개발자들이 선호한다.
  2. TypeScript : '자료형의 명시화'에 집중해 만든 언어. 개발을 단순화하고 복잡한 시스템을 지원하려는 목적으로 Microsoft가 만든 언어.
  3. Flow : 이 또한 자료형! TypeScript와는 다른 방식을 사용한다. Facebook에서 개발한 언어.
  4. Dart : 모바일 앱과 같이 브라우저가 아닌 환경에서 동작하는 고유의 엔진을 가진 독자적 언어. Google이 개발.

언어를 배우는 것도 쉽지 않은데 만드는 분들은 진짜 대단하다. 오늘도 숙연해진다.

어쨌든 이런 언어들을 알려면 베이스가 되는 자바스크립트를 알아야 한다.

요약!!

  1. 자바스크립트는 브라우저용으로 고안된 언어지만, 지금은 다양한 환경에서 사용된다.
  2. 자바스크립트는 오늘날 브라우저 환경에서 가장 널리 사용되는 언어다! HTML/CSS와 완전 통합이 가능하다(?)
  3. 자바스크립트 트랜스파일할 수 있는 언어는 많다. 각 언어마다 고유 기능이 다르다. 자바스크립트 먼저!
profile
일단 공부해보자구

0개의 댓글

관련 채용 정보