자바스크립트(Javascript)는 스크립트 언어이자 프로토타입 기반의 프로그래밍 언어이다.
HTML은 웹 페이지의 기본 구조를 담당하고, CSS는 디자인을 담당하며, 자바스크립트는 웹 페이지의 동작을 담당한다.
자바스크립트란 프로토타입 기반 객체지향 언어이다.
자바와 혼동되는 경우가 많으나 자바는 클래스 기반 객체지향 언어이다.
JavaScript와 JAVA의 공통점: 객체지향
class Dog {
constructor(name) {
this.name = name;
}
bark() {
console.log(`${this.name} is barking!`);
}
}
const myDog = new Dog("Buddy");
myDog.bark(); //Buddy is barking!
객체지향이란 객체들의 상호작용에 따라 로직이 구성되는 프로그래밍 방식을 의미한다.
아래의 그림을 보았을 때 코드를 작성한 순서대로 실행되지 않고 상호작용에 따라 순서가 달라지는 걸 알 수 있다.
* 절차지향: 코드를 작성한 순서대로 로직 구성
JavaScript와 JAVA의 차이점: 클래스 기반 VS 프로토타입 기반
프로토타입은 하나의 객체를 두고 그 객체의 속성을 복제하여 새로운 객체를 생성하는 것을 말한다.
ex) 프로토타입 = 기본적인 집 구성도(주방 1, 거실 1, 방 1, 화장실 1)
객체 = 다양한 형태의 집 구성도(주방 1, 거실 1, 방 3, 화장실 1), (주방 1, 거실 1, 방 1, 화장실 2)
프로토타입이란 기본적인 집 구성도를 밑바탕으로 깔고 기본 집 구성도를 바탕으로 다양한 집 구성도가 만들어지는 것과 같다.
클래스는 객체를 생성하기 위한 템플릿을 말한다. 객체는 그 클래스의 인스턴스(모듈을 메모리에 생성한 것)이다.
ex) 클래스 = 상자 만드는 기계 / 객체 = 상자1, 상자2, 상자3, 상자4
클래스이란 하나의 기계로 여러 개의 같은 모양 상자를 찍어내는 것과 같다.
'Front-End > JavaScript' 카테고리의 다른 글
[JS] ResizeObserver (0) | 2024.12.09 |
---|---|
[JS] Web Worker (0) | 2024.11.18 |
[JS] var, let, const (0) | 2024.02.22 |
[JS] JavaScript Engine (0) | 2023.10.23 |
[JS] ECMAScript (0) | 2023.10.17 |