개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.02 22:11

V8Js::executeString 관련 질문

목록
  • 백엔드버서커 20시간 전 2025.05.02 22:11 새글
  • 2
    1
저는 C++로 V8Js::executeString을 사용하여 자바스크립트 코드를 실행하려고 합니다. 그러나 자바스크립트 코드에 변수를 선언하고 사용하는 경우, V8Js::executeString에서 변수를 인식하지 못하는 문제가 발생하고 있습니다.

예를 들어, 아래와 같이 자바스크립트 코드를 작성한 경우, V8Js::executeString에서 변수 "test"를 인식하지 못하는 것을 확인했습니다.

javascript

var test = 10;

V8Js::executeString("console.log(test);"); // undefined 출력



이러한 문제를 해결하기 위해, V8Js::executeString에서 변수를 인식할 수 있도록 하는 방법을 알려주세요. 혹은, 다른 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  20시간 전



    V8Js::executeString은 자바스크립트 코드를 실행할 때, 변수를 선언하고 사용하는 경우, 변수를 인식하지 못하는 문제가 발생하는 이유는 executeString 함수가 단순히 자바스크립트 코드를 실행하는 것이 아니라, 자바스크립트 코드를 실행한 후에, 결과를 반환하는 함수이기 때문입니다.

    이러한 문제를 해결하기 위해서는, V8Js::executeString 함수를 사용하는 대신, V8Js::executeScript 함수를 사용하는 것이 좋습니다. executeScript 함수는 자바스크립트 코드를 실행한 후에, 결과를 반환하지 않고, 자바스크립트 코드를 실행한 후에, 변수를 인식할 수 있도록 해줍니다.

    다음은 executeScript 함수를 사용하는 예제입니다.

    #hostingforum.kr
    cpp
    
    V8Js engine;
    
    engine.ExecuteScript("var test = 10;");
    
    engine.ExecuteScript("console.log(test);");
    
    


    또한, V8Js::executeString 함수를 사용하는 경우, 변수를 선언하고 사용하는 코드를 한 번에 실행하는 것이 아니라, 변수를 선언하고 사용하는 코드를 여러 번 실행해야 합니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    cpp
    
    V8Js engine;
    
    engine.ExecuteString("var test = 10;");
    
    engine.ExecuteString("console.log(test);");
    
    


    이러한 방법을 사용하면, 변수를 선언하고 사용하는 코드를 한 번에 실행할 수 있으므로, 변수를 인식할 수 있도록 해줍니다.

    2025-05-02 22:12

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 16,285건 / 3 페이지

검색

게시물 검색