[Node] 2. Node 기능(global,console)

H2Soft·2023년 3월 31일
0
[node 버전 확인]
node -v
[npm 버전 확인]
npm -v
[npm 버전 업데이트]
npm install -g npm

[REPL (Read Eval Print Loop)]
읽고쓰고출력반복

[실행]
node

[모듈 만들기]
==var.js==
const odd = '홀수 입니다.';
const even = '짝수입니다.'
module.exports= {
    odd,
    even,
}
==func.js==
const {odd, even} = require('./var');

function checkOddOrEven(num){
    if(num % 2){ //홀수
        return odd;
    }
    return even;
}
module.exports = checkOddOrEven;
==index.js==
const {odd, even} = require('./var');
const checkNumber = require('./func');

function checkStringOddorEven(str){
    if(str.length % 2){
        return odd;
    }
    return even;
}

console.log(checkNumber(10));
console.log(checkStringOddorEven('hello'));

console

const string = 'abc';
const number = 1;
const boolean = true;
const obj = {
    outside : {
        inside:{
            key:'value'
        },
    },
}

console.time('lableName');  //time ~ time end  시간 소요시간 측정
//========================================
console.log('console log 메서드로 log 작성할 수 있으며 쉼표로 여러개 찍을 수있음.');  //log
console.log(string, number, boolean); //log
console.error('error:에러 메시지를 담아주세요.'); //error
console.table([{name:'제로',birth:1994},{name:'hero', birth:1988}]); //table
console.dir(obj, {colors:false, depth:2}) //dir (객체, 옵션) showHidden ,depth , colors
console.dir(obj, {colors:true, depth:1}) //dir (객체, 옵션) showHidden ,depth , colors

console.time('반복문수행측정');  //time ~ time end  시간 소요시간 측정
for(let i = 0; i < 100000; ++i ){}
console.timeEnd('반복문수행측정');  //time ~ time end  시간 소요시간 측정

//console.trace 사용해서 에러 위치 추적 start
function b(){
   console.trace('에러위치 추적');
}
function a(){
    b();
}
a();
//console.trace 사용해서 에러 위치 추적 end

//========================================
console.timeEnd('lableName');  

global

[타이머]

//Global 객체 안에 있는 타이머 함수들
//setTimeout(콜백함수, 시간) : 1000 분의 1초 시간 설정후 콜백 함수 호출
const timeout = setTimeout(()=>{
    console.log("setTimeout : 1.5 초후 실행");
},1500);


//setInterval(콜백함수, 밀리초) : 1000 분의 1초 시간 설정된 시간마다 콜백 함수 호출
const interval = setInterval(()=>{
    console.log("setInterval : 1 초후 실행");
},1000);

const timeout2 = setTimeout(()=>{
    console.log(" 실행되지 않습니다.");
},3000);

//timeout2 , interval를 수행 2.5초 수행하지 못하게 처리
setTimeout(()=>{
    clearTimeout(timeout2);
    clearTimeout(interval);
}, 2500);
//setImmediate(콜백함수) : 즉시 콜백 함수 수행
const immediate = setImmediate(()=>{
    console.log('즉시 실행');
});

const immediate2 = setImmediate(()=>{
    console.log('실행되지 않습니다.');
});

clearImmediate(immediate2);

[파일명,파일경로]

//해당 파일의 파일명과 위치 확인 
console.log(__filename);
console.log(__dirname);

[module,exports,require]

require.cache
require.main
require.main.filename

[process]

process.version //설치된 노드 버전
process.arch //프로세서 정보 x64
process.platform //운영체제 플렛폼
process.pid //현재 프로세스 id
process.uptime() //프로세스가 시간된 후 흐른 시간
process.execPath //node 경로
process.cwd() //현재 프로세스가 실행되는 위치
process.cpuUsage() //현재 cpu 사용량
process.env //시스템 정보

//process nextTick 우선 실행됨.
process.nextTick(()=>{
    console.log('nextTick');
});

//프로세스 종료
process.exit();
profile
프로그램밍 정보 모음

0개의 댓글