일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AI
- mysql 튜닝
- kotlin spring
- aws
- 정보처리기사 실기 기출문제
- MySQL
- CloudWatch
- Elasticsearch
- kotlin
- 티스토리챌린지
- 오블완
- IntelliJ
- CKA
- APM
- 정보처리기사실기 기출문제
- Java
- minikube
- 정보처리기사 실기
- 코틀린 코루틴의 정석
- PETERICA
- Pinpoint
- Linux
- 기록으로 실력을 쌓자
- Kubernetes
- 공부
- kotlin querydsl
- AWS EKS
- CKA 기출문제
- kotlin coroutine
- Spring
- Today
- Total
피터의 개발이야기
[Node.js] NodeJS 기본문법 본문
ㅁ 들어가며
ㅇ 새로운 프로젝트의 운영을 담당하게 되면서 Node.js를 사용하게 되었다.
ㅇ Node.js의 기초 문법은 JavaScript의 문법을 기반으로 한다.
ㅇ Node.js의 주요 기초 문법에 대해서 정리해 보았다.
ㅁ 변수 선언
- const: 재할당이 불가능한 상수 선언
- let: 재할당이 가능한 변수 선언
- var: 함수 스코프를 가지는 변수 선언 (사용 권장하지 않음)
const PI = 3.14;
let count = 0;
ㅁ 데이터 타입
JavaScript는 동적 타입 언어이므로 변수 선언 시 타입을 명시하지 않습니다[2].
- Number: 숫자
- String: 문자열
- Boolean: true/false
- Object: 객체
- Array: 배열
- null/undefined
ㅁ 함수
ㅇ 함수는 여러 가지 방식으로 선언할 수 있다.
// 기본 함수 선언
function add(a, b) {
return a + b;
}
// 화살표 함수
const multiply = (a, b) => a * b;
// 익명 함수를 변수에 할당
const divide = function(a, b) {
return a / b;
};
ㅁ 객체
ㅇ 객체는 키-값 쌍의 집합이다.
const person = {
name: 'Peterica',
age: 30,
greet() {
console.log(`Hello, my name is ${this.name}`);
}
};
ㅁ 모듈 시스템
ㅇ Node.js에서는 CommonJS 모듈 시스템을 사용한다.
// 로컬파일의 모듈 가져오기
const myModule = require('./myModule');
ㅇ 이 방식으로 Node.js 내장 모듈이나 npm으로 설치한 외부 모듈을 불러올 수 있다.
ㅇ require를 사용할 때는 모듈의 exports 객체나 module.exports에 할당된 값을 반환받게 된다.
ㅇ 이를 통해 모듈 간 코드 재사용과 의존성 관리가 가능해진다.
// 즉시 실행
require('./someFile.js');
ㅇ 변수에 할당하지 않고 바로 실행할 수 있다.
// 디렉토리 index.js 불러오기
const myModule = require('./module');
ㅇ 모듈명을 지정하지 않고 디렉토리만 지정하면 해당 디렉토리의 index.js 파일을 불러온다.
ㅁ 모듈 생성 방법
// myModule.js
module.exports = {
functionA: function() { ... },
functionB: function() { ... }
};
ㅇ module.exports 사용
// myModule.js
exports.functionA = function() { ... };
exports.functionB = function() { ... };
ㅇ exports 객체 사용
// MyClass.js
class MyClass {
constructor() { ... }
methodA() { ... }
}
module.exports = MyClass;
ㅇ 클래스로 모듈 생성
// singleFunction.js
module.exports = function() { ... };
ㅇ 단일 함수 모듈
// es6Module.js
export function functionA() { ... }
export function functionB() { ... }
ㅇ ES6 모듈 문법 사용
ㅇ package.json에 "type": "module" 설정 필요
import { functionA, functionB } from './es6Module.js';
ㅇ ES6 모듈의 경우 import 문을 사용한다.
ㅁ 익명함수(Anonymous Function)
모듈을 생성하여 사용할 경우 모듈의 의존성과 재사용성을 가질 수 있었다. 하지만 다시 사용할 일이 없는 함수, 즉 한 번만 쓰고 버릴 함수의 경우 익명 함수로 사용할 수 있다. 보통 함수 표현식, 콜백함수, 즉시 실행 함수의 경우 주로 사용한다.
익명함수는 C와 JAVA에 없는 자바스크립트만의 고유 개념이다. 함수를 객체로 취급하여 다음 함수의 인자로 함수를 사용할 수 있게 된다.
ㅁ 비동기 프로그래밍
ㅇ Node.js는 비동기 프로그래밍을 지원한다.
ㅇ 비동기 동작을 구현하는 방법은 Callback -> Promise -> Async/Await가 있다.
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Error:', error);
}
}
ㅁ 함께 보면 좋은 사이트
ㅇ Node.js를 위한 JavaScript 기본 문법
ㄴ 화살표 함수(Arrow function)
'DevOps > Node.js' 카테고리의 다른 글
[Node.js] Node.js 서버 사이드,찍먹하기 (3) | 2024.09.27 |
---|---|
[Node.js] PM2를 사용한 Node.js 관리하기(PM2 사용법 정리) (0) | 2024.09.16 |
[Node.js] Docker를 이용한 샘플 node.js 작성 (0) | 2024.09.15 |