>웹 프론트엔드 >프런트엔드 Q&A >ECmascript5와 6의 차이점은 무엇입니까

ECmascript5와 6의 차이점은 무엇입니까

WBOY
WBOY원래의
2022-07-01 16:33:591770검색

ecmascript5와 6의 차이점: 1. ecmascript6에는 블록 수준 범위가 새로 추가되었지만 ecmascript5에는 없습니다. 2. 기본 함수 매개변수는 ecmascript6에서 설정할 수 있지만 ecmascript5에서는 사용할 수 없습니다. ecmascript6 , ecmascript5에는 화살표 기능이 없습니다.

ECmascript5와 6의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: windows10 시스템, ECMAScript 6.0&&ECMAScript 5.0 버전, Dell G3 컴퓨터.

ecmascript5와 6의 차이점은 무엇인가요

ECMAScripts5, 즉 ES5는 2009년에 표준화된 ECMAScripts의 5번째 개정판입니다. ECMAScripts6, 즉 ES6는 2025년에 완성된 ECMAScripts의 6번째 개정판입니다. ES2015ES6이라고도 합니다. ES5보다 더 간결하고 개발 효율성이 향상되었습니다. ES6의 몇 가지 새로운 기능:

1) let은 변수를 선언하고 const는 상수를 선언합니다. 둘 다 블록 수준 범위가 없습니다. ES5의 블록 수준 범위 및 var에는 변수 승격이 있습니다. let에서 사용되는 변수는 선언되어야 합니다

2) 화살표 함수 ES6의 함수 정의는 더 이상 function() 키워드를 사용하지 않지만 ()=>를 사용합니다. ; 정의하려면

3) 템플릿 문자열 템플릿 문자열은 백틱(`)으로 표시된 문자열의 향상된 버전으로, 일반 문자열로 사용하거나 여러 줄 문자열을 정의하는 데 사용할 수 있습니다.

4) 분해 할당 ES6에서는 추출이 가능합니다. 특정 패턴에 따라 배열 및 개체의 값을 변수에 할당

5)... 스프레드 연산자는 배열의 값을 확장할 수 있으며 여러 값을 하나로 수집할 수도 있습니다. 변수

자세한 내용은 다음과 같습니다.

새로운 화살표 기능

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

이것은 명확하게 명시되어 있습니다. 기존 JS의 this는 정의 시가 아닌 런타임 시 결정되지만, 화살표 함수의 this는 정의 시 결정되며 변경할 수 없으며 호출, 적용, 바인딩과 같은 메서드로 수정할 수도 없습니다. 런타임 시 this가 누구를 가리키는지 명확하게 하고, 런타임 시 이 지점을 판단할 필요가 없습니다. 참고: 화살표 함수에는 자체 this가 없으며, this를 가리키는 것입니다. 화살표 함수가 아닌 이전 함수입니다. js의 메커니즘 때문에 화살표 함수가 아닌 함수의 범위를 가리킵니다.

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

    변수 호이스팅에서는 일반 함수의 선언이 가장 높습니다. 화살표 함수에는 호이스팅 기능이 없습니다.
  • 화살표 함수에는 함수 내부에 this 객체가 없습니다. body는 사용시 객체가 아닌 객체입니다
  • 화살표 함수에는 객체라는 인자가 없습니다. 나머지 매개변수
  • 화살표 함수는 생성자로 사용할 수 없으며 신규일 수 없습니다. 속성이 없습니다
  • call 및 Apply 메소드에는 매개변수만 있고 범위는 없습니다
  • yield 명령을 사용할 수 없습니다. 따라서 화살표 함수는 생성기 함수로 사용할 수 없습니다
ES6의 블록 수준 범위

let 명령에서 변수를 선언하는 방법은 var와 유사하지만 JavaScript에 새로운 블록 수준 범위를 추가합니다. ES5에서는 블록 수준 범위가 아니며 var에는 변수 승격 개념이 있지만 let에서 사용되는 변수는 선언을 해야 합니다. const는 상수를 선언합니다.

ES6에서 변수의 구조적 할당, 예: var [a, b,c] = [0,1,2];

클래스 상속

ES5처럼 ES6에서는 더 이상 사용되지 않음 프로토타입 체인은 상속을 구현하지만 객체 구문과 다소 유사한 클래스 개념을 도입합니다. Java에서는 지향 프로그래밍이지만 둘은 다릅니다.

확장된 지식:

var, let 및 const의 차이점

Var는 반복적으로 선언할 수 있지만 let은 반복적으로 선언할 수 없습니다.

var는 블록 수준으로 제한되지 않지만 let은 블록 수준으로 제한됩니다.

var는 window에 매핑되지만(속성이 첨부됨) let은 window에 매핑되지 않습니다.

var는 선언 위의 변수에 액세스할 수 있지만 let에는 임시 데드존이 있으며 위의 변수에 액세스하면 오류가 보고됩니다. 선언

Const는 선언 후에 값을 할당해야 합니다. 그렇지 않으면 오류가 보고됩니다.

const는 불변 수량을 정의하고 변경되면 오류가 보고됩니다.

const는 let과 마찬가지로 매핑되지 않습니다. 창, 블록 수준 범위를 지원하고 선언 위의 변수에 액세스할 수 있습니다. 오류가 보고됩니다

[관련 권장 사항:

javascript 비디오 튜토리얼

, 웹 프론트 엔드]

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

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