투케이2K

333. (javaScript) 자바스크립트 new Error().stack 사용해 현재 수행 중인 메소드 명칭 및 파일 명칭 확인 - getMethodName 본문

JavaScript

333. (javaScript) 자바스크립트 new Error().stack 사용해 현재 수행 중인 메소드 명칭 및 파일 명칭 확인 - getMethodName

투케이2K 2023. 10. 12. 19:42

[개발 환경 설정]

개발 툴 : Edit++

개발 언어 : JavaScript

 

[소스 코드]

    <!-- ===================================================================================================== -->
    <!-- [자바스크립트 코드 지정] -->
    <!-- ===================================================================================================== -->
    <script>


        // [html 최초 로드 및 이벤트 상시 대기 실시] 
        window.onload = async function() {
            console.log("");
            console.log("=========================================");
            console.log("[window onload] : [start]");
            console.log("=========================================");
            console.log(""); 
            

            // [테스트 함수 호출]
            testMain();

        }; 





        // [테스트 함수 정의]
        function testMain(){

            // [메소드 수행 stack 목록 확인]
            var functionList = new Error().stack;


            // [현재 수행 중인 메소드 명칭 확인]
            var functionName_1 = functionList.split("at")[1].trim(); // [상세 파일 및 코드 라인 까지 출력]
            var functionName_2 = functionList.match(/at (.*?) /)[1].trim(); // [메소드 명칭만 출력]

            console.log("");
            console.log("=========================================");
            console.log("[testMain] : [Result]");
            console.log("---------------------------------------");
            console.log("functionList :: " + functionList);
            console.log("---------------------------------------");
            console.log("functionName_1 :: " + functionName_1);
            console.log("---------------------------------------");
            console.log("functionName_2 :: " + functionName_2);
            console.log("=========================================");
            console.log(""); 

        }; 

        
    </script>
 

[결과 출력]

 

=========================================
[testMain] : [Result]
---------------------------------------
WebFunctionTest.html:178 functionList :: Error
    at testMain (file:///C:/Users/ghkwon1/..../WebFunctionTest.html:167:32)
    at window.onload (file:///C:/Users/ghkwon1/..../WebFunctionTest.html:155:13)
---------------------------------------
functionName_1 :: testMain (file:///C:/Users/ghkwon1/..../WebFunctionTest.html:167:32)
---------------------------------------
functionName_2 :: testMain
=========================================

 

반응형
Comments