>  기사  >  웹 프론트엔드  >  C++과 자바스크립트의 차이점은 무엇인가요?

C++과 자바스크립트의 차이점은 무엇인가요?

青灯夜游
青灯夜游원래의
2022-01-18 17:34:374679검색

차이점: 1. C++는 정적 언어이고 JavaScript는 동적 언어입니다. 2. C++는 컴파일된 언어인 반면 JavaScript는 해석된 언어입니다. 3. C++에는 포인터가 있지만 JavaScript에는 포인터가 없습니다. 함수형 프로그래밍 언어, C++는 그렇지 않습니다.

C++과 자바스크립트의 차이점은 무엇인가요?

이 튜토리얼의 운영 환경: windows7 시스템, javascript1.8.5&&C++17 버전, Dell G3 컴퓨터.

C++과 자바스크립트의 차이점

1. C++는 정적 언어이고 js는 동적 언어입니다.

차이점은 다음과 같습니다.

정적 언어:

  • 실행되지 않는 경우에도 유형 감지가 가능하며, 일부 논리적 오류도 어느 정도 감지할 수 있습니다. 그러나 선언이 너무 많으면 프로그램이 중복됩니다.

  • 코드 작성을 시작할 때 어떤 유형의 변수와 계산이 있어야 하는지 고려해야 합니다. 이는 좋은 고가용성 프로그램을 작성하는 데 도움이 됩니다.

  • 은 컴파일러 프롬프트와 코드 이해에도 유용합니다.

문제: 유연성이 부족하여 유형을 정의하지 않으면 프로그램을 작성할 수 없습니다.

동적 언어:

  • 가장 큰 장점은 코드의 단순성입니다.

  • 매우 유연합니다.

문제: 실행 속도가 상대적으로 느리고 유형 확인이 필요합니다. 가장 큰 단점은 실행하지 않으면 오류를 감지할 수 없다는 점입니다.

2. C++는 컴파일된 언어이고, js는 해석된 언어입니다.

C++의 컴파일 프로세스: 전처리->컴파일 최적화->어셈블리->링크.

Js 파싱 메커니즘: 전처리(분할 읽기 코드 전처리) -> 해석 및 실행

3. C++에는 포인터가 있고 js에는 포인터가 없습니다.

C++의 할당에서는 모든 기본 유형이 직접 복사되며 사용자 정의 유형은 포인터의 존재로 인해 깊은 복사(복사) 또는 얕은 복사(참조)를 수행하도록 선택할 수 있습니다. js에서 모든 기본 유형 할당은 복사본이고 다른 모든 유형 할당은 참조입니다.

4. JS는 함수형 프로그래밍 언어이지만 C++는 그렇지 않습니다.

Js는 함수를 함수(고차 함수)의 입력 매개변수 및 출력 값으로 사용할 수 있는 객체로 취급합니다.

C++ 함수를 다른 함수의 입력 매개변수로 사용하려면, 즉 고차 함수를 구현하려면 함수 포인터를 전달해야 합니다(종종 추가(void *) 유형 매개변수가 매개변수로 전달됩니다. 함수 매개변수).

5. C++의 상속은 클래스를 기반으로 하며, js의 상속은 프로토타입을 기반으로 합니다.

C++에서는 클래스를 통해 상속이 수행됩니다. 사람들의 직관적 사고와 더 일치합니다. 동시에 클래스가 생성된 후에는 해당 정의가 수정되지 않는 한 수정할 수 없습니다. (오픈 클래스 기반의 Ruby 상속은 정의 후 클래스의 내용을 임의로 추가할 수 있습니다.)

js에서는 상속이 프로토타입 체인을 통해 수행됩니다. 정의 후 프로토타입 체인을 수정하는 것도 가능합니다. 동시에 내장 유형의 프로토타입 체인을 수정하여 내장 유형을 확장할 수도 있습니다(주의해서 사용하세요. 원숭이 패치로 인해 내장 객체가 크게 수정되어 예측할 수 없는 동작이 발생할 수 있습니다).

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

위 내용은 C++과 자바스크립트의 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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