[모던 자바스크립트 튜토리얼] 1.1 자바스크립트란?

개발견 배도르만·2023년 2월 13일
0
post-thumbnail

자바스크립트란?

자바스크립트는 '웹페이지에 생동감을 불어넣기 위해 만들어진 프로그래밍 언어'이다. 자바스크립트로 작성한 프로그램을 스크립트라고 부르며, 스크립트는 웹페이지를 불러올 때 자동으로 실행된다.

자바스크립트를 실행하기 위해 자바스크립트 엔진이 필요하다. 브라우저마다 사용하는 엔진이 다르고, 브라우저가 아니더라도 node.js와 같은 실행환경에도 엔진이 내장되어 있다. 각 엔진마다 지원하는 기능 등이 다르다. (다음 글에서 엔진에 대해 더 살펴보자)

브라우저에서 할 수 있는 일

자바스크립트는 메모리나 CPU 같은 저수준 영역의 조작을 허용하지 않는다. 브라우저를 대상으로 만든 언어이기 때문에 본연의 목적이 완전히 다르기 때문이다.
Node.js 환경에선 임의의 파일으 읽거나 쓰고, 네트워크 요청을 수행하는 함수를 지원한다.
브라우저 환경에선 웹페이지, 클라이언트에 관한 모든 일을 수행한다.

  • HTML, 스타일 수정
  • 이벤트 처리
  • 서버 요청
  • 쿠키 관리
  • 로컬스토리지 관리

브라우저에서 할 수 없는 일

브라우저에는 다양한 종류가 있는데, 각 브라우저는 보안을 위해 자바스크립트 기능에 제약을 걸어놓았다. 악성 웹페이지가 사용자의 개인정보와 데이터에 접근하는 것을 막기 위해서이다.

  • 디스크 저장 파일 접근 제한
  • 특정 입력 장치(카메라, 마이크 등)와의 상호작용 시 사용자의 명시적인 허가 필요
  • 동일 출처 정책(Same Origin Policy) : 다른 탭과 창에서의 교차 접근 제한에 관한 보안 정책
  • 서버에서 생성한 페이지 외의 사이트나 도메인에서의 데이터 접근 제한

자바스크립트만의 강점

  • HTML/CSS와의 완전 통합
  • 간단한 처리
  • 범용성(모든 주요 브라우저에서 지원, 기본 언어로 사용)

끝!




코어자바스크립트와 모던자바스크립트

코어 자바스크립트

일반적으로 추가 라이브러리나 프레임워크를 포함하지 않고 JavaScript 언어 자체의 필수 기능을 나타낸다. 이러한 핵심 기능에는 구축된 구문, 데이터 유형, 함수 및 제어 구조가 포함된다.

  • 변수 및 데이터 유형 : 자바스크립트에는 문자열, 숫자, Boolean 및 객체와 같은 다양한 데이터 유형과 변수 선언 및 조작 기능이 포함된다.

  • 함수: 자바스크립트 함수는 언어의 기본 부분으로, 필요에 따라 호출하고 실행할 수 있는 재사용 가능한 코드 블록을 정의할 수 있다.

  • 제어 구조: 자바스크립트에는 if/else 문 및 루프와 같은 다양한 제어 구조가 포함되어 있어 특정 조건에 따라 코드의 다른 섹션을 실행할 수 있다.

  • 개체: 자바스크립트는 개체 지향 언어이다. 즉, 개체를 만들고 조작할 수 있을 뿐만 아니라 상속을 사용하여 더 복잡한 데이터 구조를 구축할 수 있다.

  • 이벤트: 자바스크립트는 특정 이벤트가 발생할 때 코드를 실행할 수 있는 이벤트 리스너를 사용하여 사용자 작업 및 기타 이벤트에 응답할 수 있다.

전반적으로 핵심 자바스크립트를 이해하는 것은 웹 개발이든 다른 애플리케이션이든 강력하고 효과적인 자바스크립트 코드를 작성하려는 모든 사람에게 필수적이다.

모던 자바스크립트

일반적으로 자바스크립트 언어의 최신 버전과 자바스크립트 응용 프로그램을 개발하는 데 사용되는 사례 및 기술을 나타낸다. 모던 자바스크립트는 종종 복잡한 고성능 웹 애플리케이션을 구축하는 데 사용되며 최근 몇 년 동안 등장한 많은 기능과 추세가 특징이다.

최신 자바스크립트의 주요 측면 중 일부는 다음과 같다.

  • ES6 이상 : 최신 자바스크립트는 ES6(ES2015라고도 함)부터 ES2016, ES2017 등과 같은 최신 버전까지 최신 버전의 ECMAScript 사양을 사용합니다. 이러한 버전의 언어에는 더 깨끗하고 간결한 코드를 더 쉽게 작성할 수 있는 새로운 기능과 구문이 포함되어 있다.

  • 비동기 프로그래밍 : 다른 코드의 실행을 차단하지 않고 코드를 실행할 수 있는 비동기 프로그래밍은 최신 자바스크립트의 핵심 기능이다. 이는 일반적으로 콜백, 프로미스, 그리고 최근에는 모듈식 개발

  • 프레임워크 및 라이브러리: React, Angular 및 Vue.js와 같이 개발 프로세스를 간소화하는 데 도움이 되는 미리 빌드된 구성 요소 및 기타 도구를 제공하는 널리 사용되는 JavaScript 프레임워크 및 라이브러리가 많이 있다.

  • 도구 및 자동화: 최신 자바스크립트 개발은 빌드 도구, 테스트 프레임워크, CI/CD(지속적인 통합 및 배포) 파이프라인과 같은 다양한 도구 및 자동화 기술에 의존하는 경우가 많다.

전반적으로 최신 자바스크립트 개발은 코드 구성, 재사용 가능성 및 자동화에 중점을 두고 성능, 확장성 및 유지 관리 가능성에 중점을 두는 것이 특징이다.

profile
네 발 개발 개

0개의 댓글