>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트는 컴파일된 언어인가요?

자바스크립트는 컴파일된 언어인가요?

青灯夜游
青灯夜游원래의
2021-06-30 14:52:383194검색

Javascript는 컴파일된 언어가 아니라 해석된 프로그래밍 언어입니다. JavaScript 소스 코드는 실행을 위해 클라이언트에 전송되기 전에 컴파일할 필요가 없으며, 대신 텍스트 형식의 문자 코드가 브라우저에 의해 해석 및 실행되도록 전송됩니다.

자바스크립트는 컴파일된 언어인가요?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

Javascript는 컴파일된 언어가 아니라 해석되거나 적시 컴파일된 프로그래밍 언어입니다.

컴파일은 소스 프로그램을 실행 가능한 타겟 코드로 번역하는 것이며, 번역과 실행은 별개이고, 통역은 저장 가능한 타겟 코드를 생성하지 않고 소스 프로그램의 번역과 실행을 한 번에 완료하는 것입니다.

JavaScript(줄여서 "JS")는 함수 우선 순위를 갖는 경량의 해석 또는 JIT(Just-In-Time) 컴파일 프로그래밍 언어입니다. JavaScript는 프로그램 실행 중에 한 줄씩 해석됩니다.

JavaScript의 소스 코드는 실행을 위해 클라이언트로 전송되기 전에 컴파일할 필요가 없습니다. 대신 텍스트 형식의 문자 코드가 브라우저에서 해석 및 실행되도록 브라우저로 전송됩니다. 리터럴 번역 언어의 약점은 보안성이 낮다는 점이며, JavaScript에서는 실행할 수 없으면 다음 언어도 실행할 수 없습니다. 해결책은 try{}catch(){}를 사용하는 것입니다. 여기서 오류 정보는 catch()에 전달됩니다.

console.log("a");//这是正确的
 console.log("b");//这是正确的
 console.logg("c");//这是错误的,并且到这里会停下来
 console.log("d");//这是正确的
 console.log("e");//这是正确的
 
 /*解决办法*/
 try{console.log("a");}catch(e){}//这是正确的
 try{console.log("b");}catch(e){}//这是正确的
 try{console.logg("c");}catch(e){}//这是错误的,但是到这里不会停下来,而是跳过
 try{console.log("d");}catch(e){}//这是正确的
 try{console.log("e");}catch(e){}//这是正确的

JavaScript는 주류 엔진이 코드를 로드하고 실행될 때마다 해석하기 때문에 문자 그대로의 언어로 분류됩니다. V8은 실행을 시작하기 전에 모든 코드를 해석하는 반면 다른 엔진은 이를 한 줄씩 해석합니다(SpiderMonkey는 성능 향상을 위해 해석된 명령을 일시적으로 저장하는데 이를 실시간 컴파일이라고 합니다). use JavaScript로 작성되었으므로(SpiderMonkey는 C++로 작성됨) 서로 다른 테스트에서 둘의 성능에는 장단점이 있습니다. 이에 상응하는 것이 C언어와 같은 컴파일 언어이다. 컴파일 언어로 작성된 프로그램을 실행하려면 먼저 컴파일을 해서 코드를 기계어 코드로 컴파일한 후 실행해야 한다.

컴파일된 언어 VS 해석된 언어

1. 컴퓨터와의 다양한 통신 방식

인터프리터는 소스 프로그램의 명령문을 하나씩 꺼내어 해석하고 실행하지 않습니다. 소스코드 파일은 기계어로 해석되어 CPU로 전달되어 실행됩니다.

컴파일은 소스 프로그램을 실행 가능한 타겟 코드로 변환하고 실행 가능한 프로그램 파일을 실행하는 작업입니다.

2. 실행 속도

해석된 프로그램은 실행 효율성이 낮습니다. 모든 코드는 인터프리터에 의해 해석되고 실행되어야 합니다.

컴파일된 프로그램은 프로그램 코드가 변환되어 빠르게 실행됩니다. 컴퓨터가 이해할 수 있는 기계어이다.

【관련 권장 사항: javascript 학습 튜토리얼

위 내용은 자바스크립트는 컴파일된 언어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.