본문으로 건너뛰기
ToolMug

JavaScript 실행기

JavaScript 코드를 브라우저의 별도 Worker에서 실행해 결과와 콘솔 출력을 확인하세요. 실행 시간 제한이 있어 페이지를 멈추지 않아요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

Ctrl+Enter / ⌘+Enter

콘솔

console.log 출력이 여기에 나타나요.

별도 워커에서 실행하므로 DOM(document, window)에 접근할 수 없지만 fetch, 타이머, JSON, Intl과 다른 내장 기능은 사용할 수 있어요.

사용 방법

  1. 편집기에 JavaScript 코드를 입력하거나 예제 코드를 불러오세요.
  2. 실행 버튼을 누르고 반환값과 콘솔 출력을 확인하세요.
  3. 오류가 표시되면 줄과 메시지를 확인한 뒤 코드를 수정해 다시 실행하세요.

옵션 설명

실행 환경
코드는 Web Worker에서 실행되므로 document와 window 같은 DOM API는 사용할 수 없어요.
사용 가능한 기능
JSON, Math, Intl, fetch와 타이머 등 브라우저의 기본 기능을 사용할 수 있어요.
실행 시간
실행에는 시간 제한이 있어 무한 루프가 페이지를 멈추지 않아요. 오래 걸리는 작업은 중단될 수 있어요.

출력되는 내용

콘솔로 보낸 것만 출력에 나타나요. 브라우저 콘솔과 달리 마지막 줄의 값은 표시되지 않으므로 console.log로 감싸세요. 출력 방식은 Node.js 스타일이에요. 배열과 객체는 펼쳐지고, 그 안의 문자열에는 따옴표가 붙으며, 자리표시자 %s와 %d는 뒤따르는 인자로 채워져요.

console.log([1, 2, 3].map((n) => n * n));
console.log('%s is %d years old', 'Ada', 36);
console.log({ name: 'Ada', tags: ['a', 'b'] });
const data = await fetch('https://example.com/').then((r) => r.status);
console.log(data);

처음 세 줄은 [ 1, 4, 9 ], Ada is 36 years old, { name: "Ada", tags: [ "a", "b" ] }를 출력해요. 마지막 두 줄은 네트워크 연결이 필요하며 요청의 HTTP 상태를 출력해요. 시간 제한은 5초, 10초, 30초, 60초로 설정할 수 있고, 시간이 다 되면 실행이 종료되고 그 사실을 알리는 메시지가 표시돼요.

자주 묻는 질문

코드가 서버로 전송되나요?

아니요. 코드는 브라우저의 Worker에서 실행되며 서버로 업로드되지 않아요.

DOM을 조작할 수 있나요?

아니요. 별도 Worker에는 DOM이 없어요. 계산과 데이터 변환에 사용하세요.

비동기 코드도 실행할 수 있나요?

네. Promise와 async 함수, fetch와 타이머를 사용할 수 있어요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구