너무 많아서 그냥 이런게 있구나 하고 넘어가면 됨
global
노드의 전역 객체
브라우저의 window같은 역할 => global, global this
모든 파일에서 접근 가능
window처럼 생략도 가능(console, require도 global의 속성)
global 속성에 값을 대입하면 다른 파일에서도 사용 가능
-> 파일이 많아지면 어디서 썼는지 모르기 때문에 별로 좋지 않음
console
브라우저의 console 객체와 매우 유사
console.time, console.timeEnd: 시간 로깅 ( 두 개 사이의 코드 실행 시간을 알아볼 수 있다. )
console.error: 에러 로깅
console.log: 평범한 로그
console.dir: 객체 로깅
console.trace: 호출스택 로깅 ( 함수 안에서 호출스택을 보여줌 )
console.table: 결과를 테이블로 보여줌
타이머 메서드
set 메서드에 clear 메서드가 대응됨
set 메서드의 리턴 값(아이디)을 clear 메서드에 넣어 취소
setTimeout(콜백 함수, 밀리초): 주어진 밀리초(1000분의 1초) 이후에 콜백 함수를 실행합니다.
setInterval(콜백 함수, 밀리초): 주어진 밀리초마다 콜백 함수를 반복 실행합니다. (실시간 데이터 출력에 좋음)
setImmediate(콜백 함수): 콜백 함수를 즉시 실행합니다. setTimeout(() => something, 0 )이랑 동일
( 백드라운드에 보내서 특점 함수들을 동시에 실행시킬 수 있게함 / 비동기 )
clearTimeout(아이디): setTimeout을 취소합니다.
clearInterval(아이디): setInterval을 취소합니다.
clearImmediate(아이디): setImmediate를 취소합니다.
__filename, __dirname
__filename: 현재 파일 경로
__dirname: 현재 폴더(디렉터리) 경로
파일 시스템에 접근 할 수 있어서 주의해야한다.
module, exports
module.exports 외에도 exports로 모듈을 만들 수 있음
모듈 예제의 var.js를 다음과 같이 바꾼 후 실행
동일하게 동작함
동일한 이유는 module.exports와 exports가 참조 관계이기 때문
exports에 객체의 속성이 아닌 다른 값을 대입하면 참조 관계가 깨짐
module.exports = {
odd = odd,
even = even,
}
// 동일
exports.odd = odd;
exports.even = even;
// 둘 중에 하나만 써야함 그렇지 않으면 error
this
노드에서 this를 사용할 때 주의점이 있음
최상위 스코프의 this는 module.exports를 가리킴
그 외에는 브라우저의 자바스크립트와 동일
함수 선언문 내부의 this는 global(전역) 객체를 가리킴
'Node.js' 카테고리의 다른 글
OS, path, url 모듈 (0) | 2020.12.07 |
---|---|
노드 내장 알아보기 #2 (0) | 2020.12.04 |
REPL와 모듈 (0) | 2020.12.02 |
자바스크립트 정리 (0) | 2020.12.01 |
JavaScript 실행과 문법 (0) | 2020.11.29 |