제로초님의 강의를 보며 공부합니다.
노드의 전역 객체
- 브라우저의 window같은 역할
- 모든 파일에서 접근 가능
- 윈도우처럼 생략 가능 (console , require도 글로벌 속성)
브라우저에서는 윈도우였는데 노드에서는 글로벌이라는 단어를 사용-> globalThis로 통일했으나 ie에선 안됨(역시 ie..시시르다)
setTtimeout 쓸때 앞에 window생략 하는것 처럼 node도 global생략 가능
requrie로 앞에 global생략해서 쓰는거라 함.
console.log로 글로벌 안에 들어있다니!! 이 분 강의는 새로운걸 참 많이 알아감 ㅎㅎ
global속성에 값을 대입하면 다른 파일에서도 사용 가능. 웬만하면 글로벌에 값 대입 ㄴㄴ
console객체
console.time, console.timeEnd : 시간 로깅
console.error : 에러로깅
console.log : 평범한 로그
console.dir : 객체 로깅
console.trace : 호출스택 로깅 , 많이써보는거 추천! log만 쓰지말고..ㅎㅎ
블라블라~~
console.time('eee'); //여기서부터
블라블라~~
console.timeEnd('eee'); //여기까지 실행되는 시간 알 수 있다. ()안에 내용은 똑같이 적음.
따라서 한번 쳐보라고 해서 공부겸 침 ㅎㅎ
const string = 'bac';
const number = 1;
const boolean = true;
const obj = {
outside:{
inside:{
key:'value',
}
}
};
console.time('시간!!');
console.log('평범한 로그 쉼표로 구분해 여러 값 찍기 가능');
console.log(string,number,boolean);
console.error('error로그는 여기에 담기');
console.table([{name:'dd',birth:1994}, {name:'test',birth:1996} ]);
console.dir(obj,{color:false,depth:2});
console.dir(obj,{color:true,depth:1});
console.time('시간 측정');
for(let i=0; i<1000;i++){}
console.time('시간 측정');
function b(){
console.trace('에러위치 추적');
}
function a(){
b();
}
a();
실행하면 이런식으로 나온당.
타이머 메소드
set 메소드에 리턴 값(아이디)을 clear메소드에 넣어 취소
(처음 듣는거만 적음)
setImmediate(콜백함수):콜백함수 즉시 실행
clearImmediate(아이디): setImmediate를 취소
setInterval()할 때 보통 변수에 담아서 한다.
const hi = setInterval(()=>console.log('hhii'),2000); //밀리 세컨 단위라 원하는 초에 곱하기 1000
clearInterval(hi) //취소기능, 겨우 멈췄네;;ㅋㅋ
setImmediate(()=>console.log('hi')) //그냥 console.log 다른점은 하면 백그라운드로 넘어감. 어떤코드들과 동시에 실행하게 보낼 수 있다. (백 그라운드로-> 태스크 큐->이벤트 루프에의해서 호출스택으로 이동 :: 이 과정이 끝나기전에 클리어하면 바로 실행되는것도 멈출 수 있다고 한다. ㄷㄷ )
setInerval,setTimeout,setImmediate 대표적인 비동기 코드라 보면된다.
'study > node.js' 카테고리의 다른 글
node.js 모듈 (0) | 2021.10.24 |
---|---|
nodejs 파일 읽기 (0) | 2021.09.18 |
node.js 시작하기 (0) | 2021.09.15 |
댓글