JavaScript & Node.js 온라인 실행
브라우저 기반 CLI로 JavaScript/Node.js code를 실행하고, 즉시 테스트 및 디버깅하세요. 설정 없이 학습 및 모듈 테스트에 이상적입니다.
💡 실력을 키우고 싶다면 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"]