전역 객체
모든 모듈에서 사용 가능한 객체입니다.
다음 변수는 전역 변수처럼 보일 수 있지만, 그렇지 않습니다. CommonJS 모듈의 범위 내에서만 존재합니다.
여기에 나열된 객체는 Node.js에 특정적인 것입니다. 전역적으로 액세스할 수 있는 JavaScript 언어 자체의 일부인 내장 객체도 있습니다.
클래스: AbortController
[히스토리]
버전 | 변경 사항 |
---|---|
v15.4.0 | 더 이상 실험적이지 않음 |
v15.0.0, v14.17.0 | 추가됨: v15.0.0, v14.17.0 |
선택된 Promise
기반 API에서 취소를 신호하는 데 사용되는 유틸리티 클래스입니다. 이 API는 Web API AbortController
를 기반으로 합니다.
const ac = new AbortController()
ac.signal.addEventListener('abort', () => console.log('Aborted!'), { once: true })
ac.abort()
console.log(ac.signal.aborted) // true 출력
abortController.abort([reason])
[히스토리]
버전 | 변경 사항 |
---|---|
v17.2.0, v16.14.0 | 새로운 선택적 reason 인수 추가 |
v15.0.0, v14.17.0 | 추가됨: v15.0.0, v14.17.0 |
reason
<any> 선택적 이유.AbortSignal
의reason
속성에서 검색 가능합니다.
abort
신호를 트리거하여 abortController.signal
이 'abort'
이벤트를 방출하게 합니다.
abortController.signal
추가됨: v15.0.0, v14.17.0
- 유형: <AbortSignal>
클래스: AbortSignal
추가됨: v15.0.0, v14.17.0
- 상속: <EventTarget>
AbortSignal
은 abortController.abort()
메서드가 호출될 때 관찰자에게 알리는 데 사용됩니다.
정적 메서드: AbortSignal.abort([reason])
[이력]
버전 | 변경 사항 |
---|---|
v17.2.0, v16.14.0 | 새로운 선택적 reason 인수 추가 |
v15.12.0, v14.17.0 | 추가됨: v15.12.0, v14.17.0 |
reason
: <any>- 반환값: <AbortSignal>
이미 중단된 새로운 AbortSignal
을 반환합니다.
정적 메서드: AbortSignal.timeout(delay)
추가됨: v17.3.0, v16.14.0
delay
<number> AbortSignal을 트리거하기 전에 대기할 밀리초 수
delay
밀리초 후에 중단될 새로운 AbortSignal
을 반환합니다.
정적 메서드: AbortSignal.any(signals)
추가됨: v20.3.0, v18.17.0
signals
<AbortSignal[]> 새로운AbortSignal
을 구성할AbortSignal
들
제공된 신호 중 하나라도 중단되면 중단될 새로운 AbortSignal
을 반환합니다. abortSignal.reason
은 중단을 야기한 signals
중 하나로 설정됩니다.
이벤트: 'abort'
추가됨: v15.0.0, v14.17.0
abortController.abort()
메서드가 호출되면 'abort'
이벤트가 발생합니다. 콜백은 type
속성이 'abort'
로 설정된 단일 객체 인수를 사용하여 호출됩니다.
const ac = new AbortController()
// onabort 속성을 사용하거나...
ac.signal.onabort = () => console.log('aborted!')
// EventTarget API를 사용합니다...
ac.signal.addEventListener(
'abort',
event => {
console.log(event.type) // 'abort' 출력
},
{ once: true }
)
ac.abort()
AbortSignal
과 연결된 AbortController
는 'abort'
이벤트를 한 번만 트리거합니다. 'abort'
이벤트 리스너를 추가하기 전에 abortSignal.aborted
속성이 false
인지 확인하는 것이 좋습니다.
AbortSignal
에 연결된 모든 이벤트 리스너는 { once: true }
옵션을 사용해야 합니다(또는 이벤트 리스너를 연결하기 위해 EventEmitter
API를 사용하는 경우 once()
메서드를 사용). 그렇지 않으면 메모리 누수가 발생할 수 있습니다.
abortSignal.aborted
추가됨: v15.0.0, v14.17.0
- 유형: <boolean>
AbortController
가 중단된 후true
입니다.
abortSignal.onabort
추가됨: v15.0.0, v14.17.0
- 유형: <Function>
abortController.abort()
함수가 호출될 때 알림을 받도록 사용자 코드에서 설정할 수 있는 선택적 콜백 함수입니다.
abortSignal.reason
추가됨: v17.2.0, v16.14.0
- 유형: <any>
AbortSignal
이 트리거될 때 지정된 선택적 이유입니다.
const ac = new AbortController()
ac.abort(new Error('boom!'))
console.log(ac.signal.reason) // Error: boom!
abortSignal.throwIfAborted()
추가됨: v17.3.0, v16.17.0
abortSignal.aborted
가 true
이면 abortSignal.reason
을 throw합니다.
클래스: Blob
추가됨: v18.0.0
<Blob> 참조.
클래스: Buffer
추가됨: v0.1.103
바이너리 데이터를 처리하는 데 사용됩니다. 버퍼 섹션을 참조하십시오.
클래스: ByteLengthQueuingStrategy
추가됨: v18.0.0
ByteLengthQueuingStrategy
의 브라우저 호환 구현입니다.
__dirname
이 변수는 전역 변수처럼 보일 수 있지만 그렇지 않습니다. __dirname
을 참조하십시오.
__filename
이 변수는 전역 변수처럼 보일 수 있지만 그렇지 않습니다. __filename
을 참조하십시오.
atob(data)
추가됨: v16.0.0
buffer.atob()
의 전역 별칭입니다.
BroadcastChannel
추가됨: v18.0.0
btoa(data)
추가됨: v16.0.0
buffer.btoa()
에 대한 전역 별칭.
clearImmediate(immediateObject)
추가됨: v0.9.1
clearImmediate
는 타이머 섹션에서 설명합니다.
clearInterval(intervalObject)
추가됨: v0.0.1
clearInterval
는 타이머 섹션에서 설명합니다.
clearTimeout(timeoutObject)
추가됨: v0.0.1
clearTimeout
는 타이머 섹션에서 설명합니다.
CloseEvent
추가됨: v23.0.0
CloseEvent
클래스. 자세한 내용은 CloseEvent
를 참조하십시오.
CloseEvent
의 브라우저 호환 구현. --no-experimental-websocket
CLI 플래그를 사용하여 이 API를 비활성화하십시오.
클래스: CompressionStream
추가됨: v18.0.0
CompressionStream
의 브라우저 호환 구현.
console
추가됨: v0.1.100
stdout 및 stderr에 출력하는 데 사용됩니다. console
섹션을 참조하십시오.
클래스: CountQueuingStrategy
추가됨: v18.0.0
CountQueuingStrategy
의 브라우저 호환 구현.
Crypto
[히스토리]
버전 | 변경 사항 |
---|---|
v23.0.0 | 더 이상 실험적이지 않음. |
v19.0.0 | 더 이상 --experimental-global-webcrypto CLI 플래그 뒤에 있지 않음. |
v17.6.0, v16.15.0 | 추가됨: v17.6.0, v16.15.0 |
<Crypto>
의 브라우저 호환 구현입니다. 이 전역 객체는 Node.js 바이너리가 node:crypto
모듈에 대한 지원을 포함하여 컴파일된 경우에만 사용할 수 있습니다.
crypto
[히스토리]
버전 | 변경 사항 |
---|---|
v23.0.0 | 더 이상 실험적이지 않음. |
v19.0.0 | 더 이상 --experimental-global-webcrypto CLI 플래그 뒤에 있지 않음. |
v17.6.0, v16.15.0 | 추가됨: v17.6.0, v16.15.0 |
Web Crypto API의 브라우저 호환 구현입니다.
CryptoKey
[히스토리]
버전 | 변경 사항 |
---|---|
v23.0.0 | 더 이상 실험적이지 않음. |
v19.0.0 | 더 이상 --experimental-global-webcrypto CLI 플래그 뒤에 있지 않음. |
v17.6.0, v16.15.0 | 추가됨: v17.6.0, v16.15.0 |
<CryptoKey>
의 브라우저 호환 구현입니다. 이 전역 객체는 Node.js 바이너리가 node:crypto
모듈에 대한 지원을 포함하여 컴파일된 경우에만 사용할 수 있습니다.
CustomEvent
[히스토리]
버전 | 변경 사항 |
---|---|
v23.0.0 | 더 이상 실험적이지 않음. |
v22.1.0, v20.13.0 | CustomEvent가 이제 안정적임. |
v19.0.0 | 더 이상 --experimental-global-customevent CLI 플래그 뒤에 있지 않음. |
v18.7.0, v16.17.0 | 추가됨: v18.7.0, v16.17.0 |
CustomEvent
Web API의 브라우저 호환 구현입니다.
클래스: DecompressionStream
추가됨: v18.0.0
DecompressionStream
의 브라우저 호환 구현입니다.
Event
[히스토리]
버전 | 변경 사항 |
---|---|
v15.4.0 | 더 이상 실험적이지 않음 |
v15.0.0 | 추가됨: v15.0.0 |
Event
클래스의 브라우저 호환 구현입니다. 자세한 내용은 EventTarget
및 Event
API를 참조하십시오.
EventSource
추가됨: v22.3.0, v20.18.0
[안정성: 1 - 실험적]
안정성: 1 안정성: 1 - 실험적입니다. --experimental-eventsource
CLI 플래그를 사용하여 이 API를 활성화하십시오.
EventSource
클래스의 브라우저 호환 구현입니다.
EventTarget
[히스토리]
버전 | 변경 사항 |
---|---|
v15.4.0 | 더 이상 실험적이지 않음 |
v15.0.0 | 추가됨: v15.0.0 |
EventTarget
클래스의 브라우저 호환 구현입니다. 자세한 내용은 EventTarget
및 Event
API를 참조하십시오.
exports
이 변수는 전역 변수처럼 보일 수 있지만 그렇지 않습니다. exports
를 참조하십시오.
fetch
[히스토리]
버전 | 변경 사항 |
---|---|
v21.0.0 | 더 이상 실험적이지 않음 |
v18.0.0 | 더 이상 --experimental-fetch CLI 플래그 뒤에 있지 않음 |
v17.5.0, v16.15.0 | 추가됨: v17.5.0, v16.15.0 |
fetch()
함수의 브라우저 호환 구현입니다.
클래스: File
추가됨: v20.0.0
<File>
을 참조하십시오.
클래스 FormData
[히스토리]
버전 | 변경 사항 |
---|---|
v21.0.0 | 더 이상 실험적이지 않음. |
v18.0.0 | 더 이상 --experimental-fetch CLI 플래그 뒤에 있지 않음. |
v17.6.0, v16.15.0 | 추가됨: v17.6.0, v16.15.0 |
브라우저와 호환되는 <FormData> 구현.
global
추가됨: v0.1.27
[안정적: 3 - 레거시]
안정적: 3 안정성: 3 - 레거시. globalThis
를 대신 사용하십시오.
- <Object> 전역 네임스페이스 객체.
브라우저에서 최상위 범위는 전통적으로 전역 범위였습니다. 즉, ECMAScript 모듈 내부를 제외하고 var something
은 새로운 전역 변수를 정의합니다. Node.js에서는 이것이 다릅니다. 최상위 범위는 전역 범위가 아닙니다. Node.js 모듈 내부의 var something
은 CommonJS 모듈이든 ECMAScript 모듈이든 해당 모듈에 로컬로 유지됩니다.
클래스 Headers
[히스토리]
버전 | 변경 사항 |
---|---|
v21.0.0 | 더 이상 실험적이지 않음. |
v18.0.0 | 더 이상 --experimental-fetch CLI 플래그 뒤에 있지 않음. |
v17.5.0, v16.15.0 | 추가됨: v17.5.0, v16.15.0 |
브라우저와 호환되는 <Headers> 구현.
localStorage
추가됨: v22.4.0
브라우저와 호환되는 localStorage
구현. 데이터는 --localstorage-file
CLI 플래그로 지정된 파일에 암호화되지 않고 저장됩니다. 저장할 수 있는 최대 데이터 양은 10MB입니다. Web Storage API 외부에서 이 데이터를 수정하는 것은 지원되지 않습니다. --experimental-webstorage
CLI 플래그를 사용하여 이 API를 활성화합니다. 서버 컨텍스트에서 사용될 때 localStorage
데이터는 사용자 또는 요청별로 저장되지 않고 모든 사용자와 요청에서 공유됩니다.
MessageChannel
추가됨: v15.0.0
MessageChannel
클래스. 자세한 내용은 MessageChannel
을 참조하십시오.
MessageEvent
추가됨: v15.0.0
MessageEvent
클래스. 자세한 내용은 MessageEvent
을 참조하십시오.
MessagePort
추가됨: v15.0.0
MessagePort
클래스. 자세한 내용은 MessagePort
을 참조하십시오.
module
이 변수는 전역 변수처럼 보일 수 있지만 그렇지 않습니다. module
을 참조하십시오.
Navigator
추가됨: v21.0.0
[안정성: 1 - 실험적]
안정성: 1 안정성: 1.1 - 활발히 개발 중입니다. --no-experimental-global-navigator
CLI 플래그를 사용하여 이 API를 비활성화하십시오.
Navigator API의 부분 구현입니다.
navigator
추가됨: v21.0.0
[안정성: 1 - 실험적]
안정성: 1 안정성: 1.1 - 활발히 개발 중입니다. --no-experimental-global-navigator
CLI 플래그를 사용하여 이 API를 비활성화하십시오.
window.navigator
의 부분 구현입니다.
navigator.hardwareConcurrency
추가됨: v21.0.0
navigator.hardwareConcurrency
읽기 전용 속성은 현재 Node.js 인스턴스에서 사용 가능한 논리 프로세서의 수를 반환합니다.
console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`)
navigator.language
추가됨: v21.2.0
navigator.language
읽기 전용 속성은 Node.js 인스턴스의 기본 언어를 나타내는 문자열을 반환합니다. 언어는 운영 체제의 기본 언어를 기반으로 런타임에 Node.js에서 사용하는 ICU 라이브러리에 의해 결정됩니다.
값은 RFC 5646에 정의된 대로 언어 버전을 나타냅니다.
ICU가 없는 빌드의 경우 기본값은 'en-US'
입니다.
console.log(`The preferred language of the Node.js instance has the tag '${navigator.language}'`)
navigator.languages
추가됨: v21.2.0
navigator.languages
읽기 전용 속성은 Node.js 인스턴스의 기본 언어를 나타내는 문자열 배열을 반환합니다. 기본적으로 navigator.languages
는 navigator.language
의 값만 포함하며, 이 값은 Node.js가 런타임 시 운영 체제의 기본 언어를 기반으로 사용하는 ICU 라이브러리에 의해 결정됩니다.
ICU가 없는 빌드에서의 기본값은 ['en-US']
입니다.
console.log(`기본 언어는 '${navigator.languages}'입니다.`)
navigator.platform
추가됨: v21.2.0
navigator.platform
읽기 전용 속성은 Node.js 인스턴스가 실행 중인 플랫폼을 식별하는 문자열을 반환합니다.
console.log(`이 프로세스는 ${navigator.platform}에서 실행 중입니다.`)
navigator.userAgent
추가됨: v21.1.0
navigator.userAgent
읽기 전용 속성은 런타임 이름과 주 버전 번호로 구성된 사용자 에이전트를 반환합니다.
console.log(`사용자 에이전트는 ${navigator.userAgent}입니다.`) // "Node.js/21" 출력
PerformanceEntry
추가됨: v19.0.0
PerformanceEntry
클래스입니다. 자세한 내용은 PerformanceEntry
를 참조하십시오.
PerformanceMark
추가됨: v19.0.0
PerformanceMark
클래스입니다. 자세한 내용은 PerformanceMark
를 참조하십시오.
PerformanceMeasure
추가됨: v19.0.0
PerformanceMeasure
클래스입니다. 자세한 내용은 PerformanceMeasure
를 참조하십시오.
PerformanceObserver
추가됨: v19.0.0
PerformanceObserver
클래스입니다. 자세한 내용은 PerformanceObserver
를 참조하십시오.
PerformanceObserverEntryList
추가됨: v19.0.0
PerformanceObserverEntryList
클래스입니다. 자세한 내용은 PerformanceObserverEntryList
를 참조하십시오.
PerformanceResourceTiming
추가됨: v19.0.0
PerformanceResourceTiming
클래스입니다. 자세한 내용은 PerformanceResourceTiming
을 참조하십시오.
performance
추가됨: v16.0.0
perf_hooks.performance
객체입니다.
process
추가됨: v0.1.7
프로세스 객체입니다. process
객체 섹션을 참조하십시오.
queueMicrotask(callback)
추가됨: v11.0.0
callback
<Function> 큐에 추가할 함수입니다.
queueMicrotask()
메서드는 callback
을 호출할 마이크로태스크를 큐에 추가합니다. callback
에서 예외가 발생하면 process
객체의 'uncaughtException'
이벤트가 발생합니다.
마이크로태스크 큐는 V8에서 관리하며 Node.js에서 관리하는 process.nextTick()
큐와 유사하게 사용할 수 있습니다. process.nextTick()
큐는 Node.js 이벤트 루프의 각 턴에서 항상 마이크로태스크 큐보다 먼저 처리됩니다.
// 여기서 `queueMicrotask()`는 'load' 이벤트가 항상
// 비동기적으로, 따라서 일관되게 방출되도록 합니다.
// 여기서 `process.nextTick()`을 사용하면 'load' 이벤트가
// 다른 모든 Promise 작업보다 항상 먼저 방출됩니다.
DataHandler.prototype.load = async function load(key) {
const hit = this._cache.get(key)
if (hit !== undefined) {
queueMicrotask(() => {
this.emit('load', hit)
})
return
}
const data = await fetchData(key)
this._cache.set(key, data)
this.emit('load', data)
}
Class: ReadableByteStreamController
추가됨: v18.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - 실험적입니다.
ReadableByteStreamController
의 브라우저 호환 구현입니다.
클래스: ReadableStream
추가됨: v18.0.0
ReadableStream
의 브라우저 호환 구현입니다.
클래스: ReadableStreamBYOBReader
추가됨: v18.0.0
ReadableStreamBYOBReader
의 브라우저 호환 구현입니다.
클래스: ReadableStreamBYOBRequest
추가됨: v18.0.0
ReadableStreamBYOBRequest
의 브라우저 호환 구현입니다.
클래스: ReadableStreamDefaultController
추가됨: v18.0.0
ReadableStreamDefaultController
의 브라우저 호환 구현입니다.
클래스: ReadableStreamDefaultReader
추가됨: v18.0.0
ReadableStreamDefaultReader
의 브라우저 호환 구현입니다.
require()
이 변수는 전역 변수처럼 보일 수 있지만 그렇지 않습니다. require()
를 참조하십시오.
Response
[히스토리]
버전 | 변경 사항 |
---|---|
v21.0.0 | 더 이상 실험적이지 않습니다. |
v18.0.0 | 더 이상 --experimental-fetch CLI 플래그 뒤에 있지 않습니다. |
v17.5.0, v16.15.0 | 추가됨: v17.5.0, v16.15.0 |
<Response>의 브라우저 호환 구현입니다.
Request
[히스토리]
버전 | 변경 사항 |
---|---|
v21.0.0 | 더 이상 실험적이지 않음. |
v18.0.0 | 더 이상 --experimental-fetch CLI 플래그 뒤에 있지 않음. |
v17.5.0, v16.15.0 | 추가됨: v17.5.0, v16.15.0 |
<Request>
의 브라우저 호환 구현.
sessionStorage
추가됨: v22.4.0
sessionStorage
의 브라우저 호환 구현. 데이터는 메모리에 저장되며, 저장 용량은 10MB입니다. sessionStorage
데이터는 현재 실행 중인 프로세스 내에서만 유지되며, 워커 간에는 공유되지 않습니다.
setImmediate(callback[, ...args])
추가됨: v0.9.1
setImmediate
는 타이머 섹션에 설명되어 있습니다.
setInterval(callback, delay[, ...args])
추가됨: v0.0.1
setInterval
는 타이머 섹션에 설명되어 있습니다.
setTimeout(callback, delay[, ...args])
추가됨: v0.0.1
setTimeout
는 타이머 섹션에 설명되어 있습니다.
클래스: Storage
추가됨: v22.4.0
Storage
의 브라우저 호환 구현. --experimental-webstorage
CLI 플래그를 사용하여 이 API를 활성화합니다.
structuredClone(value[, options])
추가됨: v17.0.0
WHATWG structuredClone
메서드.
SubtleCrypto
[히스토리]
버전 | 변경 사항 |
---|---|
v19.0.0 | 더 이상 --experimental-global-webcrypto CLI 플래그 뒤에 있지 않음. |
v17.6.0, v16.15.0 | 추가됨: v17.6.0, v16.15.0 |
브라우저와 호환되는 <SubtleCrypto> 구현. 이 글로벌 객체는 Node.js 바이너리가 node:crypto
모듈 지원을 포함하여 컴파일된 경우에만 사용할 수 있습니다.
DOMException
추가됨: v17.0.0
WHATWG DOMException
클래스. 자세한 내용은 DOMException
을 참조하십시오.
TextDecoder
추가됨: v11.0.0
WHATWG TextDecoder
클래스. TextDecoder
섹션을 참조하십시오.
클래스: TextDecoderStream
추가됨: v18.0.0
TextDecoderStream
의 브라우저와 호환되는 구현.
TextEncoder
추가됨: v11.0.0
WHATWG TextEncoder
클래스. TextEncoder
섹션을 참조하십시오.
클래스: TextEncoderStream
추가됨: v18.0.0
TextEncoderStream
의 브라우저와 호환되는 구현.
클래스: TransformStream
추가됨: v18.0.0
TransformStream
의 브라우저와 호환되는 구현.
클래스: TransformStreamDefaultController
추가됨: v18.0.0
TransformStreamDefaultController
의 브라우저와 호환되는 구현.
URL
추가됨: v10.0.0
WHATWG URL
클래스입니다. URL
섹션을 참조하십시오.
URLSearchParams
추가됨: v10.0.0
WHATWG URLSearchParams
클래스입니다. URLSearchParams
섹션을 참조하십시오.
WebAssembly
추가됨: v8.0.0
모든 W3C WebAssembly 관련 기능에 대한 네임스페이스 역할을 하는 객체입니다. 사용법 및 호환성에 대해서는 Mozilla Developer Network를 참조하십시오.
WebSocket
[히스토리]
버전 | 변경 사항 |
---|---|
v22.4.0 | 더 이상 실험적이지 않음. |
v22.0.0 | 더 이상 --experimental-websocket CLI 플래그 뒤에 있지 않음. |
v21.0.0, v20.10.0 | 추가됨: v21.0.0, v20.10.0 |
WebSocket
의 브라우저 호환 구현입니다. --no-experimental-websocket
CLI 플래그를 사용하여 이 API를 비활성화할 수 있습니다.
클래스: WritableStream
추가됨: v18.0.0
WritableStream
의 브라우저 호환 구현입니다.
클래스: WritableStreamDefaultController
추가됨: v18.0.0
WritableStreamDefaultController
의 브라우저 호환 구현입니다.
클래스: WritableStreamDefaultWriter
추가됨: v18.0.0
WritableStreamDefaultWriter
의 브라우저 호환 구현입니다.