관리 메뉴

피터의 개발이야기

[Node.js] NodeJS 기본문법 본문

DevOps/Node.js

[Node.js] NodeJS 기본문법

기록하는 백앤드개발자 2024. 9. 20. 10:10
반응형

ㅁ 들어가며

ㅇ 새로운 프로젝트의 운영을 담당하게 되면서 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)

node.js 서버구축하기

node.js를 익히기 전, 자바스크립트 기본 문법 정리

반응형
Comments