노드 내장 객체 : global [ node.js 교과서 ]
2023. 4. 10. 16:00ㆍnode.js
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다.
노드의 전역 객체
- 브라우저의 window 같은 역할
- 모든 파일에서 접근 가능
- window 처럼 생략도 가능 (console, require 도 global 속성)
터미널에 node 실행 후 명령줄에 global 을 하면 볼 수 있다.
node
Welcome to Node.js v19.6.1.
Type ".help" for more information.
> global
<ref *1> Object [global] {
global: [Circular *1],
queueMicrotask: [Function: queueMicrotask],
clearImmediate: [Function: clearImmediate],
setImmediate: [Function: setImmediate] {
[Symbol(nodejs.util.promisify.custom)]: [Getter]
},
structuredClone: [Getter/Setter],
clearInterval: [Function: clearInterval],
clearTimeout: [Function: clearTimeout],
setInterval: [Function: setInterval],
setTimeout: [Function: setTimeout] {
[Symbol(nodejs.util.promisify.custom)]: [Getter]
},
atob: [Getter/Setter],
btoa: [Getter/Setter],
performance: [Getter/Setter],
fetch: [AsyncFunction: fetch],
crypto: [Getter]
}
global.console 로 콘솔에 대한 것들을 볼 수 있다.
node
Welcome to Node.js v19.6.1.
Type ".help" for more information.
> global.console
Object [console] {
log: [Function: log],
warn: [Function: warn],
dir: [Function: dir],
time: [Function: time],
timeEnd: [Function: timeEnd],
timeLog: [Function: timeLog],
trace: [Function: trace],
assert: [Function: assert],
clear: [Function: clear],
count: [Function: count],
countReset: [Function: countReset],
group: [Function: group],
groupEnd: [Function: groupEnd],
table: [Function: table],
debug: [Function: debug],
info: [Function: info],
dirxml: [Function: dirxml],
error: [Function: error],
groupCollapsed: [Function: groupCollapsed],
Console: [Function: Console],
profile: [Function: profile],
profileEnd: [Function: profileEnd],
timeStamp: [Function: timeStamp],
context: [Function: context],
createTask: [Function: createTask]
}
global 속성에 값을 대입하면 다른 파일에서도 사용 가능하다.
// globalA.js
module.exports = () => global.message;
// globalB.js
const A = require("./globalA");
global.message = "안녕하세욤";
console.log(A());
실행 결과
node globalB
안녕하세욤
- 하지만 이는 좋지 않은 방법으로 관리가 힘들다.
'node.js' 카테고리의 다른 글
bcrypt 사용방법 [ Javascript ] [ node.js ] (0) | 2023.07.07 |
---|---|
PM2 사용 (0) | 2023.06.24 |
__filename, __dirname [ node.js 교과서 ] (0) | 2023.04.10 |
다이나믹임포트 [ node.js 교과서 ] (0) | 2023.04.10 |
ECMAScript 모듈 [ node.js 교과서 ] (0) | 2023.04.10 |