[WIL] JavaScript 심화

이현동·2023년 1월 29일
0

WIL

목록 보기
3/9

이번 주 회고

이번 주에는 저번 주부터 진행했었던 자바스크립트언어에 대해서 심화적으로 알아보는 시간과 코딩테스트를 풀어보면서 언어를 사용하는 방법에 조금씩 익숙해지는 시간을 가졌습니다. 언어에 대해서 조금 알고 코딩테스트를 하니 안 보이던 것도 보이게 될 수 있었던 것 같습니다. 예를 들어 참조값을 변수에 저장하고 복사를 하면 원본까지 바뀌는 것..? 실제로 내가 풀면서 코드를 보니까 언어에 대한 학습이 꼭 필요하다는 것을 알게 됐습니다.

ES 란?

ECMA 인터네셔널은 정보 통신에 대한 표준을 제정하는 비영리 표준화 기구를 뜻한다. ECMA에 의해서 제정된 하나의 기술 규격 중 ECMA-262가 있는데, 이는 범용 목적의 스크립트 언어에 대한 명세를 담고 있다. 여기서 ECMAScript는 ECMA-262에서 정의된 하나의 사양(스크립트 언어가 준수해야할 규칙, 세부 사항 및 지침)을 의미한다.

→ 즉, JavaScript는 ECMAScript 사양을 준수하는 범용 스크립팅 언어이며, ESECMA SCript의 요약입니다.

ES5와 ES6의 차이

저번 주 ES에 대해서 조사는 했지만, ES5와 ES6의 실질적인 차이는 알아보지 않았던 것 같다.

ES5

  1. 배열에 forEach, map, filter, reduce, some, every와 같은 메소드들이 지원되었다.
  2. Object에 대한 getter와 setter가 지원되었다.
  3. Javascript strict모드가 지원되었다. (기존에 비해서 더 엄격하게 문법 검사를 진행한다.)
  4. json 형식의 자료들을 지원한다. 과거에는 XML이라는 규격을 사용했다가, json이 인기를 끌면서 javascript 역시 지원을 하게 되었다.

ES6

  1. Hoisting을 개선했다.
  2. 기존에는 var키워드를 사용하여 호이스팅이 빈번하게 일어났는데 이를 방지하기 위해 블록 스코프를 가진 let과 const를 추가했다.
  3. 화살표 문법을 지원한다.
    장점 : 코드의 간결화, this를 바인딩하지 않는다.
  4. iterator와 generator 추가했다.
  5. module의 import/export 추가했다.
  6. Promise 도입했다. 자바스크립트는 비동기적 언어이기 때문에 callback에 대한 이슈가 많았으나 이부분을 해결할 수 있는 문법을 제공한다.

다음 주

프로그래머스에 있는 코딩테스트 문제를 풀어보는 시간을 가졌고 다음 주도 계속 코딩테스트 문제를 풀어볼 예정이다. 추가로 그 뒤에 진행될 주특기에 대비해서 React 강의를 들어보려고 한다.


참고자료

Javascript의 ES5란? ES5와 ES6의 차이점 ,janghoon333

profile
https://hdlee.dev

0개의 댓글