JavaScript ES6 기능

광고

이 튜토리얼에서 당신은 배울 것이다 새로운 기능에 대한 최신 버전의 자바 스크립트.

는 무엇입 ECMAScript6(또는 ES6)

ECMAScript2015(또는 ES6)여섯 번째 주요 버전의 ECMAScript 언어 사양에 대한 표준입니다. 그것은 자바 스크립트 구현에 대한 표준을 정의합니다.

ES6 은 JavaScript 언어에 큰 변화를 가져 왔습니다., 그것은 몇 가지 새로운 기능과 같은 블록 범위 변수,새로운 루프 반복하기 위한 배열과 개체 템플릿 리터럴,그리고 다른 많은 향상된 기능을 자바 프로그래밍을 더 쉽고 재미 있습니다. 이 장에서는 일상적인 JavaScript 코딩에 사용할 수 있는 최고의 ES6 기능에 대해 설명합니다.

let 키워드

ES6 에서는 변수 선언을위한 새로운let키워드를 소개합니다. ES6 이전에는 JavaScript 에서 변수를 선언하는 유일한 방법은var키워드였습니다., 그들 사이의 차이점은 무엇인지 보자.

varlet사이에는 두 가지 중요한 차이점이 있습니다. 변수 선언으로var키워드는 기능 범위 및 빠에서 최고의 범위 내에는 반면 변수를 선언한let키워드는 블록 범위({})그리고 그들은 빠.

블록 범위는 단순히 의미하는 새로운 범위 사이는 한 쌍의 중괄호 i.e.{}., 따라서,선언하는 경우는 변수로는let키워드 루프 안에,그것은 존재하지 않는 외부의 루프에서 입증된,다음 예제:

당신이 볼 수 있는 위의 예에서 변수를i첫 번째 블록에는 외부에서 액세스할 수 없는forloop. 이는 또한 우리가 할 수 있습을 사용하면 변수 이름을 여러 번으로 그것의 범위는 제한 블록({})결과에 변수를 선언하고 더 많은 깔끔한 코드.,

const 키워드

새로운const키워드는 상수를 정의 할 수있게합니다. 상수는 읽기 전용이므로 새 값을 다시 할당 할 수 없습니다. 또한let와 같은 블록 범위입니다.

이 코드는”

const PI = 3.14;console.log(PI); // 3.14PI = 10; // error

그러나,당신은 여전히 변경할 수 객체 속성 또는 배열 요소:

합니다…의 반복

새로운for...of루프 수를 반복을 통해 어레이 또는 기타 반복 가능한 개체를 매우 쉽습니다., 또한 반복 가능한 객체의 각 요소에 대해 루프 내부의 코드가 실행됩니다. 예를 들어 다음과 같습니다.

for...of루프가 작동하지 않는 객체지 않기 때문에 반복 가능한. 객체의 속성을 반복하려는 경우for-in루프를 사용할 수 있습니다.

템플릿 리터럴

템플릿 리터럴을 제공하는 쉬운 방법을 만들 멀티-라인과 문자열을 수행할 문자열을 보간. 이제 우리는 어떤 번거 로움없이 어떤 자리에서 문자열에 변수 나 표현식을 포함시킬 수 있습니다.,

템플릿 리터럴를 사용하여 만에 다시-tick(` `)(grave accent)캐릭터에 대한 평 더블룸 또는 단일세. 변수 또는 표현식은${...}구문을 사용하여 문자열 안에 배치 할 수 있습니다. 비교 다음 예제와 얼마나 유용가:

는 동안에 ES5 을 달성하기 위해,동일 우리가 뭔가를 작성하는 다음과 같다:

에 대한 기본값 기능 매개 변수를

이제 ES6 기본값을 지정할 수 있습 기능 매개 변수입니다., 이미지 않은 경우 인수를 제공하는 함수를 호출하는 경우 이러한 기본 매개 변수 값이 사용됩니다. 이것은 자바 스크립트에서 가장 기다려온 기능 중 하나입니다. 예를 들어 다음과 같습니다.

는 동안에 ES5 을 달성하기 위해,동일 우리가 뭔가를 작성하는 다음과 같다:

화살표수

기능 화살표하는 또 다른 흥미로운 기능에 ES6. 그것을 제공합니 간단한 구문을 쓰기 위한 기능을 표현을 선택에 의해 밖으로functionreturn키워드가 있습니다.,

화살표 함수는 새로운 구문 인 fat arrow(=>)표기법을 사용하여 정의됩니다. 어떻게 표시되는지 살펴보겠 보인다:

당신이 볼 수있지 않습니다functionreturn화살표 키워드 기능을 선언입니다.

할 수도 있습니다 건너뛰기는 괄호 i.e.()경우에가있는 경우 정확히 하나의 매개 변수입니다,하지만 당신은 항상 그것을 사용할 필요가 있을 때로는 하나 이상의 매개 변수입니다.,

또한 함수 본문에 둘 이상의 표현식이있는 경우 중괄호({})를 래핑해야합니다. 이 경우 값을 반환하려면return문을 사용해야합니다.

화살표 함수를 작성하는 방법에는 여러 가지 변형이 있습니다. 다음은 가장 일반적으로 사용되는 것입니다.

일반 함수와 화살표 함수 사이에는 중요한 차이가 있습니다., 과는 달리,정상적인 기능 화살표수하지 않은 자신의this,그것은this에서 기능이 정의된다. JavaScript 에서this는 함수의 현재 실행 컨텍스트입니다.,

한 이해를 명확하게 확인해 보자면 다음 예제:

다시 쓰기을 사용하여 동일한 ES6 템플릿터 화살표수:

으로 명확하게 확인할 수 있습의this키워드를 위의 예에서 참조하는 컨텍스트의 기능을 바깥쪽 화살표수에는 인체(라인-9), 이 예제는 곳에 그것을 언급하는 글로벌 개체 창(라인-9).

Classes

ECMAScript5 이상에서는 JavaScript 에 클래스가 존재하지 않았습니다., 클래스는 JAVA,PHP 등과 같은 다른 객체 지향 언어의 클래스와 유사하게 보이는 ES6 에 도입됩니다. 그러나 그들은 정확히 같은 방식으로 작동하지 않습니다. ES6 클래스를 사용하면 개체를 쉽게 만들고extends키워드를 사용하여 상속을 구현하고 코드를 재사용 할 수 있습니다.

ES6 에서는 클래스 이름 다음에 새로운class키워드를 사용하여 클래스를 선언 할 수 있습니다. 규칙에 의해 클래스 이름은 제목(즉,각 단어의 첫 글자를 대문자)로 작성됩니다.,

위의 예에서 Square 클래스는extends키워드를 사용하여 사각형에서 상속합니다. 다른 클래스에서 상속하는 클래스를 파생 클래스 또는 하위 클래스라고합니다.

또한,당신은 당신을 호출해야 합super()에 아동 클래스 구성자에 액세스하기 전에 문맥(this)., 예를 들어를 생략한 경우에는super()그리고 전화getArea()방법에 스퀘어는 개체 오류가 발생합니다,이후getArea()방법에 액세스해야 하는this키워드를 사용합니다.참고:함수 선언과 달리 클래스 선언은 게양되지 않습니다. 클래스를 선언에 상주하며 시간 죽은 지역(기)때까지 실행에 도달한 시점의 클래스를 선언서와 비슷한letconst선언이 있습니다., 따라서 클래스에 액세스하기 전에 클래스를 선언해야하며 그렇지 않으면 ReferenceError 가 발생합니다.

모듈

이전에 ES6 가 있었 대한 기본 지원을 제공하지 않는 모듈에서 JavaScript. 내부의 모든 자바 스크립트 응용 프로그램에 대한 예 변수에 따른 자바스크립트 파일 공유 같은 범위가 있습니다.

ES6 은 각 모듈이 별도의.js파일로 표시되는 파일 기반 모듈을 소개합니다., 지금은,사용할 수 있습니다export또는import성명에서 모듈을 수출하거나 가져올 변수,함수 수업 또는 어떤 다른 단체에서 다른 모듈 또는 파일이 있습니다.

자바 스크립트 파일”main.js”그리고 그 안에 다음 코드를 배치하십시오.

이제 다른 자바 스크립트 파일”앱을 만듭니다.js”다음 코드로:

마지막으로 HTML 파일 만들기”테스트.html”및 다음 코드를 사용하여 HTTP 프로토콜을 사용하여 브라우저에서이 HTML 파일을 엽니 다(또는 localhost 사용). 또한 스크립트 태그의type="module"에 주목하십시오.,

Rest Parameters

ES6 에서는 임의의 수의 매개 변수를 배열의 형태로 함수에 전달할 수있는 rest 매개 변수를 소개합니다. 이것은 특히 유용 상황에서 당신이 원하는 때 전달하는 매개변수 함수를 하지만 당신은 아무 생각이 얼마나 많은 것이 필요합니다.

rest 매개 변수는 명명 된 매개 변수를 rest 연산자(...)와 접두어로 지정됩니다. Rest 매개 변수는 매개 변수 목록의 마지막 매개 변수 일 수 있으며 rest 매개 변수는 하나만있을 수 있습니다., 을 다음의 예를 살펴보고,그것이 어떻게 작동합니다:

경우 나머지를 매개 변수는 유일한 매개변수 함수에서 얻는 모든 인수로 전달 기능,그렇지 않으면 그것을 얻을의 나머지 부분 인수를 초과하는 수의된 매개 변수입니다.

참고:혼동하지 않은 용어는 나머지 부분 매개변수를 나머지 부분과(구상적인 상태 전송). 이것은 RESTful 웹 서비스와는 아무런 관련이 없습니다.,

확산 연산자

확산 연산자는 표시(...),을 수행하는 정반대의 기능을 나머지 연산자입니다. 확산 연산자 확산으로(즉,분할)배열을 전달하는 값을 지정된 기능으로,다음 예제와 같이

확산 연산자를 사용할 수도 있습을 삽입하는 배열의 요소로 다른 배열을 사용하지 않고 편법을push(),unshift()concat(),등등.,

선언 및 할당

선언 및 할당하는 식이 그것을 쉽게 값을 추출서 어레이 또는 특성을 목표에서,서로 별개 변수를 제공하여 짧은 구문입니다.

배열과 객체 파괴 할당이라는 두 가지 종류의 파괴 할당 표현식이 있습니다.,같은 일을 하나의 라인에서 배열을 사용하여 선언 및 할당:

사용할 수도 있습니다 나머지 부분에서 운영자 배열 선언 및 할당,다음과 같이 표시됩니다.

개체 선언 및 할당

에 ES5 추출하의 속성 값을 객체를 작성해야 하는 이 같은 뭔가:

지만 ES6, 추출할 수 있는 객체의 속성 값을 할당할 변수를 쉽게 다음과 같다:

대부분의 기능은 우리가 위에서 설명한 지원의 최신 버전에서 주요 웹 브라우저에는 Chrome,Firefox,Safari,etc.,

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다

도구 모음으로 건너뛰기