본문 바로가기

Javascript

JavaScript 언어 5가지 특징

1️⃣ JS는 객체 지향 프로그래밍 언어다

자바스크립트는 객체 지향 프로그래밍이 가능한 언어로서, 객체를 생성하고 관리하는 데에 강점이 있다. 이를 통해 복잡한 기능을 구현할 수 있다.

 

🌏 객체지향 vs 절차지향

절차지향 프로그래밍순서대로 실행되는 일련의 과정을 단계적으로 기술하여 프로그램을 만드는 것이고, 객체지향 프로그래밍은 데이터와 함수를 객체라는 그룹으로 묶어서 처리하는 방법이다.

 

🔢 🔜

예를 들어, 절차지향 프로그래밍에서는 첫 번째 일을 처리한 다음에 두 번째 일을 처리하고, 그 다음에 세 번째 일을 처리하는 순서대로 프로그램을 만든다.

 

🧱 💼

반면, 객체지향 프로그래밍에서는 데이터와 함수를 객체라는 그룹으로 묶어서 처리한다. 객체는 상태와 행동을 가지고 있으며, 상태는 객체의 속성(property)이라고도 한다.

 

✅ JS에서 객체를 만들 때는?

자바스크립트에서 객체를 만들 때는 중괄호({})를 사용하여 객체를 만들고, 각 속성을 쉼표(,)로 구분하여 추가한다. 속성은 이름과 값을 가지며, 이름은 문자열로 작성하고, 값은 다양한 데이터 타입을 사용할 수 있다. 객체 내부의 함수를 메소드(method)라고 부르며, 속성의 값으로 함수를 추가할 수 있다. 객체를 만들어서 필요한 속성과 메소드를 추가하여 사용한다.

 

2️⃣ JS는 동적 타이핑 언어다

자바스크립트는 동적 타이핑을 지원하는 언어로서, 변수를 선언할 때 타입을 지정하지 않는다. 이것은 런타임 시점에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정된다는 것을 의미한다. 예를 들어, 선언 할당이라는 단어에 주목하며 아래와 같은 코드를 살펴보면, 

런타임(Runtime)? 런타임 시점이란, 프로그램이 실행되는 동안의 시점을 의미한다. 즉, 코드가 실행되는 동안에 발생하는 시점을 말한다. 반대의 의미로는 컴파일 시점이 있다.

 

3️⃣ JS는 함수형 프로그래밍 지원한다

자바스크립트는 함수형 프로그래밍을 지원하는 언어로서, 함수를 일급 객체로 취급하고, 고차 함수를 지원합니다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있다.

 

ℹ️ 일급객체란?

일급 객체(first-class object)란, 함수를 일반 값과 마찬가지로 변수에 할당하거나, 함수의 인자로 전달하거나, 함수의 반환값으로 사용할 수 있는 객체를 의미한다.

👉 코드예시

 

고차함수란?

고차 함수(higher-order function)란, 함수를 인자로 받거나, 함수를 반환하는 함수를 의미한다.

4️⃣ 비동기 처리

비동기 처리는 작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 하는 방식이다.

5️⃣ 클라이언트 측 및 서버 측 모두에서 사용 가능

자바스크립트는 클라이언트 측에서만 사용되는 것이 아니라, Node.js를 이용하여 서버 측에서도 사용된다. 이를 통해 웹 개발 전반에 걸쳐 자바스크립트를 활용할 수 있다.