JavaScript & Node.js 온라인 실행

브라우저 기반 CLI로 JavaScript/Node.js code를 실행하고, 즉시 테스트 및 디버깅하세요. 설정 없이 학습 및 모듈 테스트에 이상적입니다.

🚀 320,061 총 실행 (1,177 이번 달)

Udemy Logo 💡 실력을 키우고 싶다면 JavaScript/Node.js를 배워보세요

Loading...

⚡ 이 JavaScript(Node.js) 온라인 실행기 소개

CodeUtility JavaScript 실행기는 브라우저에서 최신 JavaScript 코드를 별도 설정 없이 즉시 작성하고 실행할 수 있게 해줍니다. 실제 Node.js 환경에서 샌드박스된 컨테이너로 코드를 안전하게 실행하며, 16, 18, 20 버전을 지원합니다.

이 도구는 Node.js 코드 조각을 테스트하고, ES6+ 문법을 살펴보거나, 반복문, 함수, 배열, 프라미스, async/await 동작 같은 핵심 JavaScript 개념을 학습하는 데에 딱 맞습니다.

알고리즘 검증, 작은 스크립트 디버깅, 런타임 로직 실험에도 유용하며, 로컬에 Node를 설치하지 않아도 됩니다. 학습자, 백엔드 개발자, 또는 브라우저에서 빠르게 JavaScript 코드를 실행해야 하는 모든 분께 이상적입니다.

💡 이 도구 사용 방법

  • 1. 에디터 위 드롭다운에서 Node.js 버전을 선택하세요 (16, 18, 20).
  • 2. 에디터에 JavaScript 코드를 직접 작성하거나 붙여넣으세요.
  • 3. 실행을 클릭하면 코드가 실행되고 아래 콘솔에 결과가 즉시 표시됩니다.
  • 4. 실행 중에는 중지 버튼이 나타납니다 — 클릭하면 실행을 조기 종료합니다.
  • 5. 코드 고치기로 흔한 문법 오류나 들여쓰기 오류를 자동으로 수정하세요.
  • 6. 수정 후에는 수정 내역 버튼이 나타납니다 — 클릭하면 최근 수정을 확인할 수 있습니다.
  • 7. 로컬 파일을 업로드하거나, 에디터에서 현재 스크립트를 다운로드할 수도 있습니다.
  • 8. 모든 사용자에게 공정하게 리소스를 제공하기 위해 실행 시간은 한 번당 20초로 제한됩니다.

🧠 팁: Node.js 런타임은 최신 ECMAScript 기능을 지원합니다 — 비동기 코드, 모듈, JSON 파싱을 실시간으로 테스트하기에 완벽합니다.

💡 초보자를 위한 Node.js 기초 가이드

1. 변수와 상수 선언

let 또는 const로 블록 스코프 변수를 선언합니다. const는 상수에 사용합니다.

let x = 10;
const PI = 3.14;
let name = "Alice";
let isActive = true;

2. 조건문 (if / switch)

제어 흐름에는 if, else if, else 또는 switch를 사용합니다.

let x = 2;
if (x === 1) {
  console.log("하나");
} else if (x === 2) {
  console.log("둘");
} else {
  console.log("기타");
}

switch (x) {
  case 1:
    console.log("하나");
    break;
  case 2:
    console.log("둘");
    break;
  default:
    console.log("기타");
}

3. 반복문

데이터를 순회할 때 for, while, forEach를 사용합니다.

for (let i = 0; i < 3; i++) {
  console.log(i);
}

let n = 3;
while (n > 0) {
  console.log(n);
  n--;
}

4. 배열

값의 순서 있는 목록은 배열에 저장합니다. 인덱스로 접근합니다.

let fruits = ["apple", "banana", "cherry"];
console.log(fruits[0]);
console.log(fruits.length);

5. 배열 조작

push, pop, slice, reverse 같은 메서드를 사용합니다.

fruits.push("kiwi");
fruits.pop();
console.log(fruits.slice(0, 2));
console.log(fruits.reverse());

let squares = [1, 2, 3, 4, 5].map(x => x * x);
console.log(squares);

6. 콘솔 입출력

출력에는 console.log, 입력에는 readline 모듈을 사용합니다.

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question("이름이 뭐예요? ", name => {
  console.log(`안녕하세요, ${name}`);
  rl.close();
});

7. 함수

함수는 선언식 또는 표현식으로 정의할 수 있습니다. 최신 JavaScript에서는 화살표 함수가 자주 사용됩니다.

function greet(name) {
  return `안녕하세요, ${name}`;
}

const add = (a, b) => a + b;

console.log(greet("Alice"));
console.log(add(2, 3));

8. 객체(Map)

객체는 키-값 쌍을 저장합니다. 사전이나 맵과 비슷합니다.

let person = { name: "Bob", age: 25 };
console.log(person.name);
console.log(person["age"]);

// ES6 맵
const map = new Map();
map.set("a", 1);
console.log(map.get("a"));

9. 예외 처리

try, catch, finally로 오류를 안전하게 처리합니다.

try {
  throw new Error("문제가 발생했습니다");
} catch (e) {
  console.log(e.message);
} finally {
  console.log("필요 시 정리");
}

10. 파일 입출력

파일 읽기/쓰기는 Node.js의 fs 모듈을 사용합니다.

const fs = require("fs");

fs.writeFileSync("test.txt", "Hello File");
const data = fs.readFileSync("test.txt", "utf8");
console.log(data);

11. 문자열 조작

trim(), toUpperCase(), replace(), split() 같은 메서드를 사용합니다.

let text = "  Hello World  ";
console.log(text.trim());
console.log(text.toUpperCase());
console.log(text.replace("Hello", "Hi"));
console.log(text.split(" "));

12. 클래스와 객체

ES6+에서는 OOP를 class 문법으로 지원합니다.

class Person {
  constructor(name) {
    this.name = name;
  }
  greet() {
    return `안녕, 나는 ${this.name}`;
  }
}

const p = new Person("Alice");
console.log(p.greet());

13. 참조

JavaScript에서 객체와 배열은 참조로 전달됩니다.

function update(arr) {
  arr.push("changed");
}

let data = ["original"];
update(data);
console.log(data);  // ["original", "changed"]