[JS] JavaScript

자바스크립트(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