nodejs교과서(14)
-
노드 내장 객체 : global [ 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 Object [global] { global: [Circular *1], queueMicrotask: [Function: queueMicrotask], clearImmediate: [Function: clearImmediate], setImmediate: [Func..
2023.04.10 -
__filename, __dirname [ node.js 교과서 ]
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다. - 노드는 __filename, __dirname 이라는 키워드로 경로에 대한 정보를 제공한다. // filename.js console.log(__filename); console.log(__dirname); 실행결과 /Users/yunmun-yeol/Documents/test/filename.js /Users/yunmun-yeol/Documents/test - ES 모듈에서는 위의 방법이 작동하지 않는다. - ES 모듈에서는 import.meta.url 로 경로를 가져올 수 있다. // filename.mjs console.log(import.meta.url); console.log("__filename은 에러"); console.log..
2023.04.10 -
다이나믹임포트 [ node.js 교과서 ]
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다. - CommonJS 모듈에서는 다이나믹 임포트(동적불러오기) 가 되는데 ES 모듈에서는 다이나믹 임포트가 안된다. - if 문 안에 require 를 넣는 것을 말한다. // dynamic.mjs const a = true; if (a) { const m1 = await import("./func.mjs"); console.log(m1); const m2 = await import("./var.mjs"); console.log(m2); } [Module: null prototype] { default: [Function: checkOddOrEven] } [Module: null prototype] { even: '짝수입니다.', odd: '..
2023.04.10 -
ECMAScript 모듈 [ node.js 교과서 ]
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다. - 공식적인 자바스크립트 모듈 형식이다. 노드에서 아직까지는 CommonJS 모듈을 많이 쓰긴 하지만 , ES 모듈이 표준으로 정해지면서 ES 모듈이 표준으로 정해지면서 점점 ES 모듈을 사용하는 비율이 늘어나고 있다. - 브라우저에서도 ES 모듈을 사용할 수 있어 브라우저와 노드 모두에게 같은 모듈 형식을 사용할 수 있다는 것이 장점 - 확장자가 mjs 이다. // var.mjs export const odd = "홀수입니다."; export const even = "짝수입니다."; // exports.odd = odd; // exports.even = even; // module.exports = { // odd, // even, // ..
2023.04.10 -
캐싱 , require, 순환참조 [ node.js 교과서 ]
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다. 캐싱 - 파일은 하드디스크에서 불러오는 것은 느리고 메모리에서 불러오는 것은 빠르다. - 하드디스크에 있는 정보를 메모리로 옮겨오는 것을 캐싱이라고 한다. require 의 특성 - require 가 제일 위에 위치할 필요는 없다. - require.cache 에 한번 require 한 모듈에 대한 캐슁 정보가 들어있다. - require.main 은 노드 실행시 첫 모듈을 가리킨다. // var.js const odd = "홀수입니다."; const even = "짝수입니다."; exports.odd = odd; exports.even = even; // require.js console.log("require가 가장 위에 오지 않아도 ..
2023.04.10 -
this [ node.js 교과서 ]
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다. - 노드에서 this 를 사용할 때 주의점이 있다. - 최상위 스코프의 this 는 module.exports 를 가리킨다. - 그 외에는 브라우저의 자바스크립트와 동일하다. - 함수 선언문 내부의 this 는 global 객체를 가르킨다. //this.js console.log(this); console.log(this === module.exports); console.log(this === exports); function whatIsThis() { console.log("function", this === exports, this === global); } whatIsThis(); {} true true function false t..
2023.04.10