Javascript란?

dyeon-dev·2024년 7월 6일

자바스크립트

목록 보기
1/10
post-thumbnail

해당 포스팅은 GOAT 자바스크립트 책으로 공부한 내용을 정리한 것이다.

Javascript

자바스크립트 언어는 자바나 C++ 등의 프로그래밍 언어와 달리 컴파일 과정 없이 프로그램 작성 즉시 브라우저에 결과를 시각적으로 표현할 수 있다.
웹페이지는 콘텐츠를 브라우저에 표현하고 사용자와의 상호작용을 위해 만들어진 것으로, 자바스크립트와 함께 HTML, CSS 등으로 구현된다.

자바스크립트의 주요 특징

  1. 웹 개발을 위한 프로그래밍 언어

  2. 스크립트 언어
    프로그램이 실행되기 위해 기계어로 변환되어야 하는데 미리 기계어로 변환하는 컴파일(=번역) 방식과 실행 시에 변환하는 인터프리트(=통역) 방식이 있다.

    컴파일러 언어 - 소스코드 → 컴파일러 → 기계어 출력 → 출력
    인터프리트 언어 - 소스코드 → 인터프리터 → 출력
  • 자바스크립트에서 브라우저에 탑재된 자바스크립트 해석기(처리기)를 인터프리터라 하며, 인터프리터를 통해 컴퓨터가 이해하는 기계어로 실행 시에 통역된다. js 소스를 사전에 변환하지 않고 그대로 사용할 수 있어 편리하다. 이처럼 컴파일 과정을 거치지 않는 대표적인 스크립트 언어이다.
  1. 이벤트 드리븐(event-driven) 방식
  • 이벤트에 반응하여 동작을 변경하거나 명령을 수행하는 방식
  • 이벤트: 대상+트리거+처리함수
  1. 자바스크립트 표준, ECMAScript
    자바스크립트 표준의 정식 명칭은 'ECMAScript'로 ECMA International ECMA-262라는 기술 규격에따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어이다. ES6 버전이 가장 널리 쓰이고 있다.
    V8 자바스크립트 엔진 기반의 자바스크립트 실행환경인 Node.js가 소개되면서 자바스크립트는 웹브라우저에서만 동작하는 클라이언트용 스크립트를 넘어 서버에서도 사용할 수 있는 언어로 확장되었다.

명령형 프로그래밍과 선언형 프로그래밍

코드를 작성하는 스타일은 명령형과 선언형 프로그래밍 방식으로 분류한다.
1. 명령형

  • HOW을 강조한 접근법
  • 절차지향(procedural) 프로그래밍
  • 객체지향(object-orieted) 프로그래밍
  • 구조적 프로그래밍
const arr = [1,2,3,4]
let num = []
for(let i=0; i<arr.length; i++) {
	if(arr[i]%2==0) {
    	num.push(arr[i])
    }
 }      
  1. 선언형
  • WHAT을 강조한 접근법
  • 코드의 양이 적어 가독성이 높으며, 유지보수도 효율적
  • 작성된 함수나 라이브러리들을 간단하게 불러다 씀
  • 함수형 프로그래밍
  • 논리형 프로그래밍
const arr = [1,2,3,4]
let num = arr.filter((value)=>value%2==0)   

함수와 메서드

최상위 객체는 window 객체는 전역 객체이다. 하위 객체로 DOM, BOM, 내장 객체 등이 있다. window 객체에도 메서드가 있는데 window를 명시하지 않아도 된다.

// window 객체의 메서드 호출
setTimeout(sayHello, 1000);
function sayHello() {
	alert("HI")
}
profile
https://github.com/dyeon-dev

0개의 댓글