| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 태국
- node.js
- dropna
- 성능평가지표
- 함수
- 블록(Block)
- echo 명령어
- 꽉뚝짝 시장
- git push -u
- 방콕
- tunder client
- 보안공부
- 지도학습
- OT후기
- 수업복습
- Linked List
- 클래스
- 루키즈
- 패키지
- SK쉴더스
- gdgm
- 루키즈33기
- pandas
- 데이터분포
- Package
- 생성형AI
- 예외처리
- sqld
- 레이블인코딩
- List
- Today
- Total
개발 블로그
자바스크립트 함수로 클래스(Class) 구현하기 & Node.js 모듈(exports) 활용법 본문
자바스크립트 함수로 클래스(Class) 구현하기 & Node.js 모듈(exports) 활용법
카메얀짱 2024. 6. 24. 19:46기초문법 알기
- node.js로 서버를 구축하려면 먼저 자바스크립트 문법을 알아야 한다.
🐢 자바스크립트의 가장 기본인 변수 선언과 조건문&반복문
- 변수 선언 및 사용
타입에 대한 구분없이 변수 앞에 var로 선언하고 사용한다.
(변수의 타입은 실행 시에 엔진이 결정하지만(대개), V8(자바스크립트 엔진)엔진의 경우 기계어로 컴파일하기 직전에 컴파일러에 의해 결정)
- 함수의 선언 및 사용
함수는 function 함수명(파라미터){실행코드} 형태로 선언한다.
함수명을 괄호와 함께 호출하면 실행된다.
// 1. 세 개의 파라미터를 더한 값을 return 하는 함수 sum 선언
function sum(n1, n2, n3){
return n1 + n2 + n3;
}
// 2. 함수 실행 후 결과값을 total 에 대입
var total = sum(1,2,3);
// 3. total 에 담긴 결과값을 출력
console.log('total='+total);
// console은 node.js 에서 콘솔화면에 로그를 사용하기 위한 내장객체
// 멤버변수인 log('내용')로 로그를 출력할 수 있다.
- 반복문과 조건문은 여느 문법들과 같은 형태로 사용된다.
- 자바스크립트에서 클래스 사용??
자바스크립트는 프로토 타입 기반의 함수형 언어이므로 특별히 객체지향을 위한 클래스는 존재하지 않는다.
! 하지만, 함수형 언어들의 특징이 함수 자체를 하나의 객체로 취급하기 때문에 단일 함수 또는 파일 자체를 하나의 클래스처럼 사용할 수 있다.
<자바스크립트에서 함수를 사용하여 객체화하는 방법>
*예시코드1: 클래스를 사용하여 객체화하기 (testClass.js)
// 클래스 선언
function Clazz(msg) {
// 멤버 변수 정의
this.name = 'I am Class';
this.message = msg;
// 멤버 함수 정의
this.print = function() {
console.log(this.message);
};
}
// 객체 생성
var myClazz = new Clazz('good to see u!');
console.log(myClazz.message); // 출력: good to see u!
myClazz.print(); // 출력: good to see u!
*예시코드2: 프로토 타입을 사용하여 메서드 추가하기 (testPrototype.js)
// 클래스 선언
function Clazz(msg) {
this.name = 'I am Class';
this.message = msg;
}
// 프로토타입을 사용하여 메서드 추가
Clazz.prototype.print = function() {
console.log(this.message);
};
// 객체 생성
var myClazz = new Clazz('good to see u!');
console.log(myClazz.message); // 출력: good to see u!
myClazz.print(); // 출력: good to see u!
*예시코드3: Node.js에서 모듈로 사용하기 (NodeClass.js)
// 클래스 정의
function Clazz() {
this.name = 'Hello there!';
this.message = '';
}
// setMessage 메서드 추가
Clazz.prototype.setMessage = function(msg) {
this.message = msg;
};
// getMessage 메서드 추가
Clazz.prototype.getMessage = function() {
return this.message;
};
// 모듈로 exports
module.exports = Clazz;
(useClass.js)
// NodeClass 모듈 불러오기
var NodeClass = require('./NodeClass');
// 객체 생성
var nodeClass = new NodeClass();
// setMessage 메서드로 값 설정
nodeClass.setMessage('Good to see u!');
// getMessage 메서드로 값 출력
console.log(nodeClass.getMessage()); // 출력: Good to see u!
전반적인 Node.js와 친해지기 위해 강의를 들으려 한다..
🐢 해당 Node.js 프로그래밍 입문 강의
https://youtube.com/playlist?list=PLG7te9eYUi7vxSvo6hvhOaht8oP0PoCwi&si=5dlLK2UicoNz17sy
Do it! Node.js 프로그래밍 입문
이지스퍼블리싱 《Do it! Node.js 프로그래밍 입문》 저자 직강 무료 동영상 강의입니다. ▶ 책 보러가기 : http://www.easyspub.co.kr/20_Menu/BookView/PUB/626/PUB
www.youtube.com
'Development > Development Environment Setup' 카테고리의 다른 글
| Intelij IDEA 학생 인증 무료 설치와 라이선스 설정 (0) | 2024.07.04 |
|---|---|
| Thunder Client 확장 설치 (0) | 2024.06.29 |
| Node.js Express 서버 구축과 nodemon 패키지 설치 (0) | 2024.06.24 |
| Node.js Visual Studio Code 개발 환경 구축 (0) | 2024.06.24 |
| Node.js Visual Studio 개발 환경 구축 (0) | 2024.06.24 |