JAVASCRIPT/JSTL

[JavaScript] 클래스 선언 및 사용하기

#자바스크립트 #class #클레스 #constructor #생성자 #JS #개발 #코딩 #자바

안녕하세요, 배곧동개발자 입니다.

요즘 지식in에 답변을 좀 달아주면서 재미를 좀 찾고 있는데, 자바스크립트에서 클래스를 사용하는 것에 대한 질문들이 조금 있더라구요?

저는 사실 자바스크립트에서 클래스를 잘 쓰지 않고 Json으로 넘겨받아 사용하기에 클래스를 쓸 일도 없고 공부할 일도 거의 없다보니 개념이 헷갈렸어서 슬쩍 한번 남겨봅니다.


​1. 클래스 선언하기

먼저 class 선언을 해봅시다. 다른 언어들과 동일해요. 단, 생성자가 constructor 라는 것만 명심해주세요!

class product{
   constructor(name, weight, price){
      this.name = name;
      this.weight = weight;
      this.price = price;
      this.buyer = "";
   }
   setBuyer(b){
      this.buyer = b;
   }
   calc(w){
      console.log(this.buyer+"님의 주문 : " + this.name + 'g ' + w + '' +  (w / this.weight * this.price) + '원');
   }
}

보시면 특별히 다른 점 모르겠지요? 내장함수들도 리턴형 없이 함수명과 파라미터로 선언합니다. 그러면 끝!


​2. 클래스 사용

​이렇게 만든 클래스를 한번 사용해봅시다.

const one = new product('돼지삼겹살','100','1690');
one.setBuyer("jang");
one.calc(200);
        
one.setBuyer("mini");
one.calc(500);

위에 만든 product라는 클래스 이용해 간단한 테스트를 진행해봤습니다. 위 코드처럼 하면 결과는 어떨까요?

클래스를 선언한 대로 아주 잘 작동하는걸 보실 수 있습니다. 아마 다른 언어에서 클래스를 다뤄보신 분이라면 어렵지 않으실겁니다.


딱히 많이 쓰지는 않지만, 그래도 알아두면 좋은 자바스크립트 클래스 선언 및 사용 방법. 참 쉽죠?

​이만, 배곧동개발자 였습니다.

배곧동개발자

Recent Posts

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

1개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

1개월 ago

[이미르] 대기열 왜 이렇게 길어졌나? (중국작업장/매크로)

#레전드오브이미르 #작업장 #쌀먹 #중국 #매크로 #대기열 1. 운영 문제 있네? 이제 오픈 2주차에 들어온 위메이드의…

2개월 ago

[이미르] 엠틱을 챙겨보자 (스토리덱/마나회복력)

#레전드오브이미르 #엠틱 #마나회복력 #스토리덱 1. 마나가 너무 부족해! 레전드 오브 이미르는 스킬 위주의 액션 게임이라고…

2개월 ago

[이미르] 시구르드와 대화 (위치/메인퀘스트19-19)

#레전드오브이미르 #파괴가남긴것 #시구르드 #19-19 #위치 1. 파괴가 남긴 것 레전드 오브 이미르 메인퀘스트 19-19인 "파괴가…

2개월 ago

[이미르] 트롤의 비밀상자, 트롤의 유적상층 보물상자 위치

#레전드오브이미르 #트롤의비밀상자 #트롤의유적상층 #보물상자 #위치 1. 트롤의 비밀 상자 이번에 알아 볼 의뢰게시판 의뢰는 바로…

2개월 ago