반응형
V8 JavaScript (Chrome 및 Node.js)에서 줄 번호에 액세스
C와 같은 언어로 시간을 보낸 JavaScript 개발자는 줄 번호 로깅 및 현재 메서드가 호출 된 메서드와 같은 특정 유형의 내부 검사를 사용하는 기능을 놓치는 경우가 많습니다. V8 (Chrome, Node.js)을 사용하는 경우 다음을 사용할 수 있습니다.
Object.defineProperty(global, '__stack', {
get: function(){
var orig = Error.prepareStackTrace;
Error.prepareStackTrace = function(_, stack){ return stack; };
var err = new Error;
Error.captureStackTrace(err, arguments.callee);
var stack = err.stack;
Error.prepareStackTrace = orig;
return stack;
}
});
Object.defineProperty(global, '__line', {
get: function(){
return __stack[1].getLineNumber();
}
});
console.log(__line);
위의 내용이 기록 19
됩니다.
함께 결합 arguments.callee.caller
하면 매크로를 통해 C에서 얻을 수있는 유용한 로깅 유형에 더 가까워 질 수 있습니다.
참고 URL : https://stackoverflow.com/questions/11386492/accessing-line-number-in-v8-javascript-chrome-node-js
반응형
'UFO ET IT' 카테고리의 다른 글
많은 프로그래밍 언어에서 문자열을 변경할 수없는 이유는 무엇입니까? (0) | 2020.12.12 |
---|---|
H.264 비디오와 MPEG-4 비디오의 차이점은 무엇입니까? (0) | 2020.12.12 |
JPA 및 Criteria API-특정 열만 선택 (0) | 2020.12.12 |
테스트 목적으로 자체 서명 된 SSL 인증서를 만드는 방법은 무엇입니까? (0) | 2020.12.12 |
uint8_t ≠ unsigned char은 언제입니까? (0) | 2020.12.12 |