모듈 기본 모듈

모듈글로벌

전역 개체, 모든 스크립트에 액세스할 수 있는 기본 개체

물체

Buffer

바이너리 데이터 캐시 객체io읽기 및 쓰기를 위한 데이터 처리, 참조Buffer물체.

1
Buffer global.Buffer;

URL

만들다UrlObject요청 객체, 참조UrlObject

1
UrlObject global.URL;

TextDecoder

TextDecoder디코딩 객체, 참조TextDecoder물체.

1
TextDecoder global.TextDecoder;

TextEncoder

TextEncoder객체 인코딩, 참조TextEncoder물체.

1
TextEncoder global.TextEncoder;

console

콘솔 액세스 객체

1
console global.console;

process

프로세스 객체

1
process global.process;

performance

기본 성능 모니터링 모듈

1
performance global.performance;

정적 함수

run

스크립트를 실행하다

1
static global.run(String fname);

호출 매개변수:

  • fname: 문자열, 실행할 스크립트의 경로를 지정합니다.

require

모듈을 로드하고 모듈 객체를 반환합니다. 자세한 내용은 @ref 모듈을 참조하세요.

1
static Value global.require(String id);

호출 매개변수:

  • id: 문자열, 로드할 모듈의 이름을 지정합니다.

결과 반환:

  • Value, 로드된 모듈의 내보내기 개체를 반환합니다.

require는 기본 모듈과 파일 모듈을 로드하는 데 사용할 수 있습니다.

기본 모듈은 샌드박스 생성 시 초기화되는 모듈로, 참조시 require(" 등 해당 id만 전달하면 됩니다.net").

파일 모듈은 사용자 정의 모듈이므로 참조 시 ./ 또는 ../로 시작하는 상대 경로를 전달해야 합니다. 파일 모듈은 .js, .jsc 및 .json문서.

파일 모듈은 package.json 형식도 지원합니다. 모듈에 디렉터리 구조가 있는 경우 require는 먼저 package.json에서 main을 쿼리하고, 찾을 수 없으면 index.js, index.jsc 또는 index를 로드하려고 시도합니다. 경로에 json이 있습니다.

참조 경로가 ./ 또는 ../로 시작하지 않고 기본 모듈이 아닌 경우 require는 현재 모듈 경로의 node_modules에서 검색하여 상위 디렉터리로 재귀합니다.

기본 프로세스는 다음과 같습니다.

%0 start start is_native is internal module? start->is_native resolve path.resolve has_file module exists? resolve->has_file search recursive lookup node_modules from the current path search->has_file load load end end load->end is_native->end Yes is_mod is module? is_native->is_mod No is_mod->search Yes is_abs is absolute? is_mod->is_abs No is_abs->resolve No is_abs->has_file Yes has_file->load Yes has_ext module.js exists? has_file->has_ext No has_ext->load Yes has_package /package.json exists? has_ext->has_package No has_main main exists? has_package->has_main Yes has_index index.js exists? has_package->has_index No has_main->load Yes has_main->has_index No has_index->load Yes has_index->end No

setTimeout

지정된 시간 후에 함수 호출

1 2 3
static Timer global.setTimeout(Function callback, Number timeout = 1, ...args);

호출 매개변수:

  • callback: 함수, 콜백 함수 지정
  • timeout: 숫자, 지연 시간을 밀리초 단위로 지정합니다. 2^31을 초과하면 즉시 실행됩니다.
  • args: ..., 지정된 콜백에 전달되는 추가 매개변수(선택 사항)입니다.

결과 반환:

  • Timer, 타이머 객체를 반환합니다.

clearTimeout

지정된 타이머 지우기

1
static global.clearTimeout(Value t);

호출 매개변수:

  • t: 값, 지워질 타이머를 지정합니다.

setInterval

지정된 간격 후에 함수 호출

1 2 3
static Timer global.setInterval(Function callback, Number timeout, ...args);

호출 매개변수:

  • callback: 함수, 콜백 함수 지정
  • timeout: 숫자, 간격 시간을 밀리초 단위로 지정합니다. 2^31을 초과하면 즉시 실행됩니다.
  • args: ..., 지정된 콜백에 전달되는 추가 매개변수(선택 사항)입니다.

결과 반환:

  • Timer, 타이머 객체를 반환합니다.

clearInterval

지정된 타이머 지우기

1
static global.clearInterval(Value t);

호출 매개변수:

  • t: 값, 지워질 타이머를 지정합니다.

setHrInterval

이 함수는 지정된 시간 간격마다 호출되며, 실행 중인 JavaScript 스크립트의 실행 타이머를 적극적으로 중단하는 고정밀 타이머입니다.

1 2 3
static Timer global.setHrInterval(Function callback, Number timeout, ...args);

호출 매개변수:

  • callback: 함수, 콜백 함수 지정
  • timeout: 숫자, 간격 시간을 밀리초 단위로 지정합니다. 2^31을 초과하면 즉시 실행됩니다.
  • args: ..., 지정된 콜백에 전달되는 추가 매개변수(선택 사항)입니다.

결과 반환:

  • Timer, 타이머 객체를 반환합니다.

setHrInterval 타이머는 실행 중인 코드 실행 콜백을 중단하므로 콜백 함수의 다른 모듈에 영향을 줄 수 있는 데이터를 수정하지 않거나 콜백에서 비동기로 표시된 API 함수를 호출하지 마십시오. 그렇지 않으면 예측할 수 없는 결과가 발생합니다. 예를 들어:

1 2 3 4 5 6 7 8 9 10
var timers = require('timers'); var cnt = 0; timers.setHrInterval(() => { cnt++; }, 100); while (cnt < 10); console.error("===============================> done");

이 코드에서 8행의 루프는 cnt 변경으로 인해 종료되지 않습니다. 왜냐하면 JavaScript는 코드를 최적화할 때 루프 중에 cnt가 변경되지 않을 것이라고 결정하기 때문입니다.


clearHrInterval

지정된 타이머 지우기

1
static global.clearHrInterval(Value t);

호출 매개변수:

  • t: 값, 지워질 타이머를 지정합니다.

setImmediate

다음 유휴 시간 동안 즉시 콜백 함수를 실행합니다.

1 2
static Timer global.setImmediate(Function callback, ...args);

호출 매개변수:

  • callback: 함수, 콜백 함수 지정
  • args: ..., 지정된 콜백에 전달되는 추가 매개변수(선택 사항)입니다.

결과 반환:

  • Timer, 타이머 객체를 반환합니다.

clearImmediate

지정된 타이머 지우기

1
static global.clearImmediate(Value t);

호출 매개변수:

  • t: 값, 지워질 타이머를 지정합니다.

btoa

~에 의해base64데이터를 인코딩하는 방법

1 2
static String global.btoa(Buffer data, Boolean url = false);

호출 매개변수:

  • data:Buffer, 인코딩할 데이터
  • url: 부울, 사용 여부를 지정합니다.url안전한 문자 인코딩

결과 반환:

  • String, 인코딩된 문자열을 반환합니다.

atob

~에 의해base64문자열을 이진 데이터로 디코딩하는 방법

1
static Buffer global.atob(String data);

호출 매개변수:

  • data: String, 디코딩할 문자열

결과 반환:

  • Buffer, 디코딩된 이진 데이터를 반환합니다.

gc

필수 가비지 수집

1
static global.gc();

정적 속성

global

객체, 전역 객체

1
static readonly Object new global;

globalThis

객체, 전역 객체

1
static readonly Object global.globalThis;