ES란
ECMA Script의 약어이며 자바스크립트의 표준 규격을 나타내는 용어.
JavaScript를 표준화시키려고 탄생했다.
JavaScript의 역사는 점점 깊어지고, 문법의 보완이 필요하면서 버전별로 문법을 확장시키고 브라우저는 특정 버전의 기능별로 지원할 수 있도록 ES가 명세를 확정해왔다.
ECMA Script는 JavaScript를 표준화시키고, 규격화하기 위해 만들어진 것이다.
현재는 ES10 버전까지 나왔고, 주로 쓰이는 것은 ES6인데, 6은 버전 이름이며 ES 2015라고도 한다. 2015년에 ES6버전이 최종으로 나왔기 때문에 그렇게 불린다.
ES5/ES6 문법 차이
ES5 (2009)
배열에 forEach, map, filter, reduce, some, every와 같은 메소드들이 지원되었다.
Object에 대한 getter와 setter가 지원되었다.
Javascript strict모드가 지원되었다. (기존에 비해서 더 엄격하게 문법 검사를 진행한다.)
json 형식의 자료들을 지원하기 시작
ES6 (ES 2015)
const and let
- const
ES6에서 변수를 선언하기 위한 새로운 키워드
const는 객체와 함께 사용할 때를 제외하고는 변경 불가능한 변수
- let
새로운 값을 받을 수도 있고 재할당할수도 있음 변경 가능한 변수가 생성.
과거 es5이하 문법에서는 var로 선언된 변수가 ‘호이스팅(hoisting)’되는 현상이 일어나는 side effect를 최소화 하기위해 변경 가능한 변수에 대해 let 키워드로 정의.
화살표함수
javascript에서 함수를 정의하는 function 키워드 없이 함수를 만들 수 있으며, return 키워드 없이, 식을 계산한 값이 자동으로 반환.
() 안에 함수의 인자가 들어가고, => 오른쪽에는 결과를 반환
비구조화 할당
비구조화 할당은 객체와 배열로부터 프로퍼티를 쉽게 꺼낼 수 있는 문법.
비구조화 할당을 사용하면 객체를 나타내는 중괄호를 열고 그 안에 있는 프로퍼티들을 언급함으로써 간단하게 내부의 속성들을 외부로 인출하여 사용할 수 있음
for…of 문
특정 행위를 반복시켜 결과값을 얻어야할때 반복문을 사용.
반복 가능한 객체(iterable)를 for문 안에서 반복시켜 연속된 결과값을 얻게된다.
Spread Operator
spread 연산자는 특정 객체 또는 배열의 값을 다른객체나 배열로 복제하거나 옮길때 사용.
'Study > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 객체의 속성과 메소드 사용하기 (0) | 2022.12.02 |
---|---|
[JavaScirpt] 자바스크립트 Rest API (0) | 2022.12.01 |
[JavaScript] 자바스크립트 Request param, query, body의 차이 (0) | 2022.11.29 |
[JavaScript] 자바스크립트 동기와 비동기, 블로킹과 논블로킹 (0) | 2022.11.28 |
[JavaScript] 자바스크립트 for of, for in 문법이 새로 나온 이유 (0) | 2022.11.28 |