>  기사  >  웹 프론트엔드  >  es6과 es5의 차이점은 무엇입니까?

es6과 es5의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-09-03 14:57:2424098검색

차이점: 1. es6에는 새로운 화살표 기능이 있지만 es5에는 없습니다. 2. ES6에는 새로운 블록 수준 범위가 있지만 es5에는 없습니다. 3. ES6에는 클래스 개념이 도입되었으며 더 이상 프로토타입 체인을 사용하여 구현하지 않습니다. ES5와 같은 상속; 4. 기본 함수 매개변수는 ES6에서 설정할 수 있지만 es5에서는 설정할 수 없습니다. 약속 기능은 ES6에 추가되었습니다.

es6과 es5의 차이점은 무엇입니까?

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

ES5와 비교하여 ES6에는 다음과 같은 많은 새로운 기능이 추가되었습니다.

1. 새로운 화살표 기능

화살표 기능으로 해결된 문제

  • 쓰기를 단순화합니다. 화살표 함수는 함수 본문에 한 줄만 있을 때 적합하며, 여러 줄이 있는 경우 일반 함수를 사용하면 가독성을 높일 수 있습니다. 적은 코딩, 명확한 구조

  • 이 점을 명확하게 하세요. 기존 JS의 this는 정의 시가 아닌 런타임 시 결정되지만, 화살표 함수의 this는 정의 시 결정되며 변경할 수 없으며 호출, 적용, 바인딩과 같은 메서드로 수정할 수도 없습니다. H Sely, 실행 시 이 점은 이것이 실행될 필요가 없음을 결정하는 것입니다. 참고: 화살표 함수에는 자체 this가 없습니다. 그의 this는 외부 레이어에 있는 함수입니다. 화살표 기능의 기능이 아닙니다. js의 메커니즘 때문에 화살표 함수가 아닌 함수의 범위를 가리킵니다.

    화살표 함수와 일반 함수의 차이점

일반 함수의 선언이 변수 호이스팅에서 가장 높으며, 화살표 함수에는 함수 호이스팅

  • 화살표 함수가 없습니다. this

  • 이 없습니다. 함수 본문 내부의 this 개체는 사용된 개체가 아니라 정의된 개체입니다.
  • 화살표 함수에는 arguments 개체가 없습니다. 함수 본문에 존재하는 경우 나머지 매개변수를 사용할 수 있습니다

  • 화살표 함수는 생성자로 사용할 수 없습니다, new에서는 사용할 수 없으며 속성이 없습니다

  • 호출 apply ​​메소드에는 매개변수만 있고 범위는 없습니다

  • 항복 명령을 사용할 수 없으므로 화살표 함수는 생성기 함수를 만들 수 없습니다.

  • 2. 블록 수준 범위

ES6의 let 명령은 변수를 선언합니다. 사용법은 var와 비슷하지만 let은 JavaScript에 새로운 블록 수준 범위를 추가합니다. ES5에는 블록 수준 범위가 없으며 var에는 변수 승격 개념이 있습니다. 사용된 변수는 선언되어야 합니다. const는 ES6에서 상수

    변수의 구조적 할당을 선언합니다(예: var [a,b ,c];
  • 3). 상속

ES6에서는 더 이상 ES5처럼 상속을 구현하기 위해 프로토타입 체인을 사용하지 않고 Java와 비슷한 클래스 개념을 도입합니다. 객체 지향 프로그래밍의 구문은 다소 유사하지만 둘은 다릅니다. 4. 기본 함수 매개변수 설정

ES6에서는 함수 A(x, y=9) {}와 같은 기본 함수 매개변수를 설정할 수 있습니다. 5. 약속

promise 세대 배경: 콜백 지옥 문제를 해결하고 비동기 요청을 처리합니다 약속 사용법: 체인 호출, 성공 및 실패 콜백, 보류 상태가 변경될 때 트리거되는 세 가지 상태. 상태가 변경되면 다시 변경되지 않습니다.

6. 템플릿 문자열

7. 과제 구조

[추천 학습: javascript 고급 튜토리얼]

위 내용은 es6과 es5의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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